एक चर के अंदर एक स्ट्रिंग में दोहरे उद्धरण कैसे जोड़ें?


168

मेरे पास चर है जैसे:

string title = string.empty;

मेरी जरूरत यह है कि जो भी स्ट्रिंग पास की जाती है, मुझे एक डबल कोट्स के साथ डिव के अंदर की सामग्री को प्रदर्शित करना होगा। तो मैंने कुछ इस तरह लिखा है:

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

लेकिन यहां दोहरे उद्धरण चिह्नों को कैसे जोड़ा जाए? ताकि यह प्रदर्शित होगा:

"How to add double quotes"

कोई भी काम नहीं करता है asp.net, c # vs2013 कोई फर्क नहीं पड़ता कि मैं कैसे कोड देखता हूं और पृष्ठ स्रोत & quot; और & # 39; हमेशा प्रदर्शित होते हैं। मैं `Attributes.Add '(...' का उपयोग कर रहा हूँ
djack109

यह मददगार होगा: stackoverflow.com/questions/46298985/…
सियावश

जवाबों:


331

आपको उन्हें दोगुना करने से बचने की जरूरत है (क्रिया स्ट्रिंग शाब्दिक):

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

या एक सामान्य स्ट्रिंग शाब्दिक के साथ आप उन्हें एक के साथ बच \:

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

और डेटाबेस में बचत करते समय इसे कैसे निकालें? मैं केवल बचने के लिए इस्तेमाल किए गए अतिरिक्त दोहरे उद्धरण को निकालना चाहता हूं और दोनों को नहीं
अनिल पुरस्वानी

1
@AnilPurswani - हुह? आपको भागने के साधनों पर पढ़ने की जरूरत है।
ओडेड

जब स्ट्रिंग स्ट्रिंग का उपयोग किया जाता है = @ "" डबलक्वाट कैसे जोड़ें ""; यह डेटाबेस में "" डबलक्वाट्स कैसे जोड़ें "" को संग्रहीत करता है ..... और इसे प्राप्त करने के दौरान इसे पुनः प्राप्त करता है .... अब इसे बदलने की कोशिश कर रहा है .... अच्छी तरह से मुझे उत्तर मिला - str.Replace ("\\") \ "", "\" "); ...... वैसे भी आपके उत्तर के लिए धन्यवाद ....
अनिल पुरस्वानी

यदि आप उद्धरण शामिल करने के लिए एक स्ट्रिंग चाहते हैं, तो आप उनसे बच जाते हैं। डेटाबेस में उन्हें संग्रहीत करने से कोई लेना-देना नहीं है - यदि आप DB में संग्रहीत करने से पहले उद्धरणों को छीनना चाहते हैं, तो ऐसा करें।
ओडेड

हाँ, मैं बस stackoverflow.com/questions/26118354/… का समाधान प्राप्त करने की कोशिश कर रहा था और इस सवाल पर पहुंचा, जो डेटाबेस से प्राप्त डेटा के समान प्रतीत होता है .....
अनिल पुरस्वानी

46

तो आप अनिवार्य रूप से पूछ रहे हैं कि एक स्ट्रिंग चर के भीतर दोहरे स्टोर कैसे करें? उसके लिए दो समाधान:

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

संभवतः यह थोड़ा और स्पष्ट करने के लिए कि क्या होता है:

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

14

अगर मैं आपके सवाल को ठीक से समझूं, तो शायद आप यह कोशिश कर सकते हैं:

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

14

यदि आपको अक्सर ऐसा करना पड़ता है और आप चाहेंगे कि यह कोड में क्लीनर हो, तो आप इसके लिए एक एक्सटेंशन विधि पसंद कर सकते हैं।

यह वास्तव में स्पष्ट कोड है, लेकिन फिर भी मुझे लगता है कि आपको समय बचाने के लिए हड़पने और बनाने के लिए उपयोगी हो सकता है।

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

तब आप प्रत्येक स्ट्रिंग पर foo.AddDoubleQuotes () या "foo" .AddDoubleQuotes () कॉल कर सकते हैं।

उममीद है कि इससे मदद मिलेगी।


7

आप दोहरे उद्धरण चिह्नों को एकल उद्धरणों में भी शामिल कर सकते हैं।

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

6

एक और नोट:

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

पास के रूप में h का वास्तविक मान "H: \ MOVIES \ Battel SHIP \ किया-युद्धपोत-cd1.avi" होगा।

जब डबल डबल शाब्दिक उपयोग की आवश्यकता होती है: @ "H: \ MOVIES \ Battel SHIP \ done- युद्धपोत-cd1.avi"; इसके बजाय: @ "H: \ MOVIESBattel SHIP \ done-battlehip-cd1.avi"; क्योंकि पहला शब्द पथ नाम के लिए है और फिर दूसरा शब्द दोहरे उद्धरण चिह्नों के लिए है


2

आप &quot;इसके बजाय उपयोग कर सकते हैं "। यह ब्राउज़र द्वारा सही ढंग से प्रदर्शित किया जाएगा।


कोई भी काम नहीं करता है asp.net, c # vs2013 कोई फर्क नहीं पड़ता कि मैं कैसे कोड देखता हूं और पृष्ठ स्रोत & quot; और & # 39; हमेशा प्रदर्शित होते हैं। मैं `Attributes.Add '(...' का उपयोग कर रहा हूँ
djack109


2

आप उपयोग कर सकते हैं $

Interpolated Strings : स्ट्रिंग्स का निर्माण करने के लिए उपयोग किया जाता है। एक प्रक्षेप स्ट्रिंग एक टेम्पलेट स्ट्रिंग की तरह दिखता है जिसमें प्रक्षेपित अभिव्यक्तियाँ होती हैं। एक प्रक्षेपित स्ट्रिंग एक स्ट्रिंग लौटाती है जो प्रक्षेपित अभिव्यक्तियों को प्रतिस्थापित करती है जिसमें यह उनके स्ट्रिंग अभ्यावेदन के साथ होता है। यह सुविधा C # 6 और बाद के संस्करणों में उपलब्ध है।

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

1

या तो उपयोग करें

और dquo;
<div> & dquo; "+ शीर्षक + @" & dquo; </ div>

या दोहरे उद्धरण से बच जाएं:

\ "
<div> \ "" + शीर्षक + @ \ "</ div>



0

दोहरे उद्धरणों से पहले एक बैकस्लैश (\) लगाएं। वह काम करना चाहिए।


0

C # में अगर हम "\" का उपयोग करते हैं, तो इसका मतलब है कि निम्नलिखित संकेत देगा कि c # इनबिल्ट प्रतीक नहीं है जो डेवलपर द्वारा उपयोग करेगा। इसलिए स्ट्रिंग में हमें दोहरे उद्धरण चिह्नों की आवश्यकता होती है, जिसका अर्थ है कि हम दोहरे उद्धरण चिह्नों से पहले "" प्रतीक रख सकते हैं।string s = "\"Hi\""


0

"<i class=\"fa fa-check-circle\"></i>"Eval()डेटा बाइंडिंग के साथ टर्नरी ऑपरेटर के साथ प्रयोग किया जाता है :

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

0

स्ट्रिंग के प्रारंभ और अंत में उद्धरण जोड़ने के लिए एक अप्रत्यक्ष, लेकिन समझने में आसान विकल्प -

char quote = '"';

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


0

यदि आप एक स्ट्रिंग में दोहरे उद्धरण जोड़ना चाहते हैं जिसमें गतिशील मूल्य भी हैं। CodeId [i] और CodeName [i] के स्थान पर समान के लिए आप अपने गतिशील मूल्यों को रख सकते हैं।

data = "Test ID=" + "\"" + CodeId[i] + "\"" + " Name=" + "\"" + CodeName[i] + "\"" + " Type=\"Test\";
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.