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"

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

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

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

14

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

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

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.


7

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

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

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


2

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


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>

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

1

Gunakan salah satunya

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

atau hindari penawaran ganda:

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

1

Di C # Anda dapat menggunakan:

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


0

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


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\""


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

0

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

char quote = '"';

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

0

Jika Anda ingin menambahkan tanda kutip ganda dalam HTML

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

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\";
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.