Làm thế nào để thêm dấu ngoặc kép vào một chuỗi bên trong một biến?


168

Tôi có biến như:

string title = string.empty;

Nhu cầu của tôi là bất cứ chuỗi nào được truyền cho nó, tôi phải hiển thị nội dung bên trong div với dấu ngoặc kép. Vì vậy, tôi đã viết một cái gì đó như:

...
...
<div>"+ title +@"</div>
...
...

Nhưng làm thế nào để thêm dấu ngoặc kép ở đây? Vì vậy, nó sẽ hiển thị như sau:

"How to add double quotes"

Không, không hoạt động asp.net, c # vs2013 cho dù tôi viết mã như thế nào nếu bạn nhìn và nguồn trang & quot; và & # 39; luôn được hiển thị. Tôi đang sử dụng `Attribution.Add (... '
djack109

điều này sẽ hữu ích: stackoverflow.com/questions/46298985/ từ
Siavash

Câu trả lời:


331

Bạn cần phải thoát chúng bằng cách nhân đôi chúng (nguyên văn chuỗi ký tự):

string str = @"""How to add doublequotes""";

Hoặc với một chuỗi ký tự bình thường, bạn thoát chúng bằng \:

string str = "\"How to add doublequotes\"";

và làm thế nào để loại bỏ nó trong khi lưu trong cơ sở dữ liệu? Tôi chỉ muốn xóa trích dẫn kép được sử dụng để thoát và không phải cả hai
Anil Purswani

1
@AnilPurswani - hả? Bạn cần phải đọc lên những gì có nghĩa là thoát.
Oded

khi được sử dụng chuỗi str = @ "" "Cách thêm doublequote" ""; nó lưu trữ "" Cách thêm doublequote "" trong cơ sở dữ liệu ..... và trong khi tìm nạp nó cũng lấy ra .... bây giờ tôi đang cố gắng chuyển đổi nó .... tôi cũng nhận được câu trả lời - str.Replace ("\\ \ "", "\" "); ...... dù sao cũng cảm ơn bạn đã trả lời ....
Anil Purswani

Nếu bạn muốn một chuỗi chứa dấu ngoặc kép, bạn thoát chúng. Điều đó không liên quan gì đến việc lưu trữ chúng trong cơ sở dữ liệu - nếu bạn muốn loại bỏ các trích dẫn trước khi lưu trữ trong DB, thì hãy làm điều đó.
Oded

vâng, tôi chỉ đang cố gắng để có được giải pháp stackoverflow.com/questions/26118354/ và đạt được câu hỏi này, có vẻ tương tự khi dữ liệu được lấy từ cơ sở dữ liệu .....
Anil Purswani

46

Vì vậy, về cơ bản bạn đang hỏi làm thế nào để lưu trữ doublequote trong một biến chuỗi? Hai giải pháp cho điều đó:

var string1 = @"""inside quotes""";
var string2 = "\"inside quotes\"";

Để có thể làm cho nó rõ hơn một chút những gì xảy ra:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";

14

Nếu tôi hiểu đúng câu hỏi của bạn, có lẽ bạn có thể thử điều này:

string title = string.Format("<div>\"{0}\"</div>", "some text");

14

Nếu bạn phải làm điều này thường xuyên và bạn muốn mã này sạch hơn trong mã, bạn có thể muốn có một phương thức mở rộng cho việc này.

Đây thực sự là mã rõ ràng, nhưng tôi vẫn nghĩ rằng nó có thể hữu ích để lấy và làm cho bạn tiết kiệm thời gian.

  /// <summary>
    /// Put a string between double quotes.
    /// </summary>
    /// <param name="value">Value to be put between double quotes ex: foo</param>
    /// <returns>double quoted string ex: "foo"</returns>
    public static string AddDoubleQuotes(this string value)
    {
        return "\"" + value + "\"";
    }

Sau đó, bạn có thể gọi foo.AddDoubleQuotes () hoặc "foo" .AddDoubleQuotes (), trên mỗi chuỗi bạn thích.

Hy vọng điều này giúp đỡ.


7

Bạn cũng có thể bao gồm các trích dẫn kép thành dấu ngoặc đơn.

string str = '"' + "How to add doublequotes" + '"';

6

Một lưu ý khác:

    string path = @"H:\\MOVIES\\Battel SHIP\\done-battleship-cd1.avi"; 
    string hh = string.Format("\"{0}\"", path);
    Process.Start(@"C:\Program Files (x86)\VideoLAN\VLC\vlc.exe ", hh + " ,--play");

Giá trị thực của hh khi được thông qua sẽ là "H: \ MOVIES \ Battel SHIP \ Done-battlehip-cd1.avi".

Khi cần gấp đôi chữ đôi, hãy sử dụng: @ "H: \ MOVIES \ Battel SHIP \ Done-battlehip-cd1.avi"; Thay vì: @ "H: \ MOVIESBattel SHIP \ Done-battlehip-cd1.avi"; Bởi vì các chữ đầu tiên là cho tên đường dẫn và sau đó các chữ thứ hai là cho các dấu ngoặc kép


2

Bạn có thể sử dụng &quot;thay vì ". Nó sẽ được hiển thị chính xác bởi trình duyệt.


Không, không hoạt động asp.net, c # vs2013 cho dù tôi viết mã như thế nào nếu bạn nhìn và nguồn trang & quot; và & # 39; luôn được hiển thị. Tôi đang sử dụng `Attribution.Add (... '
djack109


2

Bạn có thể sử dụng $.

Chuỗi nội suy : Được sử dụng để xây dựng chuỗi. Một chuỗi nội suy trông giống như một chuỗi mẫu có chứa các biểu thức được nội suy. Một chuỗi nội suy trả về một chuỗi thay thế các biểu thức được nội suy mà nó chứa trong các biểu diễn chuỗi của chúng. Tính năng này có sẵn trong C # 6 và các phiên bản mới hơn.

string commentor = $"<span class=\"fa fa-plus\" aria-hidden=\"true\"> {variable}</span>";

1

Sử dụng

& dquo;
<div> & dquo; "+ title + @" & dquo; </ div>

hoặc thoát khỏi trích dẫn kép:

\ "
<div> \ "" + tiêu đề + @ "\" </ div>

1

Trong C # bạn có thể sử dụng:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";


0

Đặt dấu gạch chéo ngược (\) trước dấu ngoặc kép. Cần làm việc.


0

trong C # nếu chúng ta sử dụng "\" có nghĩa là biểu tượng sau đây không phải là biểu tượng c # inbuild sẽ được nhà phát triển sử dụng. vì vậy trong chuỗi chúng ta cần dấu ngoặc kép nghĩa là chúng ta có thể đặt ký hiệu "\" trước dấu ngoặc kép.string s = "\"Hi\""


0

"<i class=\"fa fa-check-circle\"></i>"được sử dụng với toán tử ternary với Eval()ràng buộc dữ liệu:

Text = '<%# Eval("bqtStatus").ToString()=="Verified" ? 
       Convert.ToString("<i class=\"fa fa-check-circle\"></i>") : 
       Convert.ToString("<i class=\"fa fa-info-circle\"></i>"

0

Một cách thay thế gián tiếp, nhưng đơn giản để hiểu để thêm dấu ngoặc kép ở đầu và cuối chuỗi -

char quote = '"';

string modifiedString = quote + "Original String" + quote;

0

Nếu bạn muốn thêm dấu ngoặc kép trong HTML

echo "<p>Congratulations,  &#8220; ". $variable ." &#8221;!</p>";
output -> Congratulations, "Mr Jonh "!

0

Nếu bạn muốn thêm dấu ngoặc kép vào một chuỗi cũng chứa các giá trị động. Đối với tương tự thay cho CodeId [i] và CodeName [i], bạn có thể đặt các giá trị động của mình.

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.