Bagaimana cara menambahkan tanda kutip ganda ke string yang ada di dalam variabel?

168

Saya memiliki variabel seperti:

string title = string.empty;

Kebutuhan saya adalah string apa pun yang diteruskan ke sana saya harus menampilkan konten di dalam div dengan tanda kutip ganda. Jadi saya telah menulis sesuatu seperti:

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

Tetapi bagaimana cara menambahkan tanda kutip ganda di sini? Sehingga akan ditampilkan seperti:

"How to add double quotes"
ANP
sumber
Tidak bekerja asp.net, c # vs2013 tidak peduli bagaimana saya kode jika Anda melihat dan sumber halaman & quot; dan & # 39; selalu ditampilkan. Saya menggunakan `Attributes.Add (... '
djack109
ini akan sangat membantu: stackoverflow.com/questions/46298985/…
Siavash

Jawaban:

331

Anda harus melarikan diri dengan menggandakannya (kata demi kata string literal):

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

Atau dengan string literal normal Anda menghindarinya dengan \:

string str = "\"How to add doublequotes\"";
Oded
sumber
dan bagaimana cara menghapusnya saat menyimpan dalam database? Saya hanya ingin menghapus kutipan ganda tambahan yang digunakan untuk melarikan diri dan tidak keduanya
Anil Purswani
1
@AnilPurswani - ya? Anda perlu membaca tentang apa artinya melarikan diri.
Oded
saat digunakan string str = @ "" "Bagaimana cara menambahkan doublequote" ""; ia menyimpan "" Bagaimana cara menambahkan doublequotes "" dalam basis data ..... dan ketika mengambilnya mengambil yang sama .... sekarang mencoba untuk mengonversinya .... baik saya mendapat jawabannya - str.Replace ("\\ \ "", "\" "); ...... Bagaimanapun, terima kasih atas balasan Anda ....
Anil Purswani
Jika Anda ingin string berisi kutipan, Anda dapat menghindarinya. Itu tidak ada hubungannya dengan menyimpannya dalam database - jika Anda ingin menghapus tanda kutip sebelum menyimpan dalam DB, maka lakukan itu.
Oded
ya saya hanya mencoba untuk mendapatkan solusi dari stackoverflow.com/questions/26118354/… dan mencapai pertanyaan ini, yang tampaknya sama ketika data diambil dari database .....
Anil Purswani
46

Jadi pada dasarnya Anda bertanya bagaimana cara menyimpan doublequote dalam variabel string? Dua solusi untuk itu:

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

Untuk membuatnya lebih jelas apa yang terjadi:

var string1 = @"before ""inside"" after";
var string2 = "before \"inside\" after";
Fredrik Mörk
sumber
14

Jika saya memahami pertanyaan Anda dengan benar, mungkin Anda dapat mencoba ini:

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

Jika Anda harus sering melakukan ini dan Anda ingin ini menjadi lebih bersih dalam kode Anda mungkin ingin memiliki metode ekstensi untuk ini.

Ini benar-benar kode yang jelas, tapi tetap saya pikir ini bisa berguna untuk mengambil dan membuat Anda menghemat waktu.

  /// <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 + "\"";
    }

Maka Anda dapat memanggil foo.AddDoubleQuotes () atau "foo" .AddDoubleQuotes (), pada setiap string yang Anda suka.

Semoga bantuan ini.

kodea
sumber
7

Anda juga dapat memasukkan tanda kutip ganda ke dalam tanda kutip tunggal.

string str = '"' + "How to add doublequotes" + '"';
Yannick Turbang
sumber
6

Catatan lain:

    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");

Nilai sebenarnya dari hh sebagaimana disahkan adalah "H: \ MOVIES \ Battel SHIP \ done-battleship-cd1.avi".

Ketika membutuhkan double double literal, gunakan: @ "H: \ MOVIES \ Battel SHIP \ done-battleship-cd1.avi"; Alih-alih: @ "H: \ MOVIESBattel SHIP \ done-battleship-cd1.avi"; Karena literal pertama adalah untuk nama path dan kemudian literal kedua adalah untuk tanda kutip ganda

DR.
sumber
2

Anda bisa menggunakan &quot;bukan ". Ini akan ditampilkan dengan benar oleh browser.

Jens
sumber
Tidak bekerja asp.net, c # vs2013 tidak peduli bagaimana saya kode jika Anda melihat dan sumber halaman & quot; dan & # 39; selalu ditampilkan. Saya menggunakan `Attributes.Add (... '
djack109
2

Menggunakan interpolasi string dengan contoh kerja :

var title = "Title between quotes";
var string1 = $@"<div>""{title}""</div>";  //Note the order of the $@
Console.WriteLine (string1);

Keluaran

<div>"Title between quotes"</div>
WorkSmarter
sumber
2

Anda bisa menggunakannya $.

String Interpolasi : Digunakan untuk membangun string. String yang diinterpolasi tampak seperti string template yang berisi ekspresi yang diinterpolasi. String yang diinterpolasi mengembalikan string yang menggantikan ekspresi interpolasi yang dikandungnya dengan representasi string mereka. Fitur ini tersedia dalam C # 6 dan versi yang lebih baru.

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

Gunakan salah satunya

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

atau hindari penawaran ganda:

\ "
<div> \ "" + title + @ "\" </div>
graham
sumber
1

Di C # Anda dapat menggunakan:

 string1 = @"Your ""Text"" Here";
 string2 = "Your \"Text\" Here";
Shivam Mishra
sumber
1
string doubleQuotedPath = string.Format(@"""{0}""",path);
Sunil Kumar
sumber
0

Beri tanda garis miring terbalik (\) sebelum tanda kutip ganda. Itu seharusnya bekerja.

Belinda
sumber
0

di C # jika kita menggunakan "\" berarti yang akan menunjukkan simbol berikut ini bukan c # simbol inbuild yang akan digunakan oleh pengembang. jadi dalam string kita membutuhkan tanda kutip ganda berarti kita dapat menempatkan simbol "\" sebelum tanda kutip ganda.string s = "\"Hi\""

Malathi Mals
sumber
0

"<i class=\"fa fa-check-circle\"></i>"digunakan dengan operator ternary dengan Eval()pengikatan data:

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

Alternatif tidak langsung, tetapi mudah dipahami untuk menambahkan kutipan pada awal dan akhir string -

char quote = '"';

string modifiedString = quote + "Original String" + quote;
Abhishek Poojary
sumber
0

Jika Anda ingin menambahkan tanda kutip ganda dalam HTML

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

Jika Anda ingin menambahkan tanda kutip ganda ke string yang juga berisi nilai dinamis. Untuk hal yang sama di tempat CodeId [i] dan CodeName [i] Anda dapat menempatkan nilai dinamis Anda.

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
Ramya Prakash Rout
sumber