मैं सी # के लिए बिल्कुल नया हूं इसलिए मैं यहां यह पूछ रहा हूं।सी # स्ट्रिंग। डबल कोट्स और लिटल्स को बदलें
मैं एक वेब सेवा का उपभोग कर रहा हूं जो एक्सएमएल मूल्यों की एक लंबी स्ट्रिंग देता है। चूंकि यह एक स्ट्रिंग है, सभी गुण दोहरे उद्धरण
string xmlSample = "<root><item att1=\"value\" att2=\"value2\" /></root>"
यहां मेरी समस्या है। मैं एक साधारण स्ट्रिंग करना चाहता हूं। जगह। अगर मैं PHP में काम कर रहा था तो मैं सिर्फ स्ट्रिप_स्लाश() चलाऊंगा।
हालांकि, मैं सी # में हूं और मैं इसके जीवन के लिए इसे समझ नहीं सकता हूं। मैं बाहर मेरी अभिव्यक्ति डबल कोट्स ("), क्योंकि यह स्ट्रिंग समाप्त हो जाता है को बदलने के लिए नहीं लिख सकते हैं अगर मैं यह बच तो यह गलत परिणाम क्या मैं गलत कर रहा हूँ है
string search = "\\\"";
string replace = "\"";
Regex rgx = new Regex(search);
string strip = rgx.Replace(xmlSample, replace);
//Actual Result <root><item att1=value att2=value2 /></root>
//Desired Result <root><item att1="value" att2="value2" /></root>
MizardX:।।? करने के लिए एक कच्चे स्ट्रिंग आप इसे दोगुना करने की जरूरत है एक उद्धरण शामिल हैं।
महत्वपूर्ण जानकारी है कि, अब है कि दृष्टिकोण की कोशिश कर रहा ... वहाँ या तो कुछ दोहरे उद्धरण चिह्नों के साथ यहां चल रहा है। अवधारणाओं आप सभी कोई किस्मत सुझाव दे रहे हैं ठोस हैं, लेकिन यहां मुद्दा डबल कोट्स से निपट रहा है और ऐसा लगता है कि मुझे कुछ addit करने की आवश्यकता होगी इस समस्या को हल करने के लिए आयनिक शोध। अगर कोई कुछ के साथ आता है तो कृपया एक उत्तर पोस्ट करें।
string newC = xmlSample.Replace("\\\"", "\"");
//Result <root><item att=\"value\" att2=\"value2\" /></root>
string newC = xmlSample.Replace("\"", "'");
//Result newC "<root><item att='value' att2='value2' /></root>"
निश्चित रूप से रेगेक्स का उपयोग न करें; बस प्रतिस्थापन फ़ंक्शन का उपयोग करें! – Domenic
अंतिम उत्तर देखें - आप जो चाहते हैं उसे पूरा कर लिया है, जिस तरह से आप इसे देख रहे हैं, यह आपको गड़बड़ कर रहा है। –
मैं सहमत हूं, मैं सहमत हूं यहां समस्या भी नहीं देख सकती है। स्लेश असली चरित्र नहीं हैं स्ट्रिंग में एस, वे मार्कर से बच रहे हैं! –