C#:
स्ट्रिंग से उद्धरण चिह्न हटाना
कैसे करें:
string withQuotes = "\"Hello, World!\"";
Console.WriteLine($"Original: {withQuotes}");
// डबल उद्धरण हटाएं
string withoutDoubleQuotes = withQuotes.Replace("\"", "");
Console.WriteLine($"डबल उद्धरण के बिना: {withoutDoubleQuotes}");
// सिंगल उद्धरण हटाएं (मान लें कि आपके स्ट्रिंग में पहले से ही वे थे)
string withSingleQuotes = "'Hello, World!'";
string withoutSingleQuotes = withSingleQuotes.Replace("'", "");
Console.WriteLine($"सिंगल उद्धरण के बिना: {withoutSingleQuotes}");
आउटपुट:
Original: "Hello, World!"
डबल उद्धरण के बिना: Hello, World!
सिंगल उद्धरण के बिना: Hello, World!
गहराई में जानकारी
उद्धरण चिह्नों को हटाने की अवधारणा नई या विशेष रूप से जटिल नहीं है, लेकिन यह महत्वपूर्ण है क्योंकि उद्धरण चिह्न अक्सर स्ट्रिंग्स को सीमित करने के लिए उपयोग किए जाते हैं। जब एक कोड ब्लॉक या डेटा फ़ाइल में एक अनएस्केप्ड उद्धरण वाली स्ट्रिंग शामिल की जाती है, तो यह स्ट्रिंग को समय से पहले समाप्त कर सकती है, जिससे त्रुटियां या सुरक्षा मुद्दे जैसे कि इंजेक्शन हमले हो सकते हैं।
ऐतिहासिक रूप से, उद्धरण चिह्नों से निपटना डेटा संभालने में मान्यता प्राप्त करने और सफाई की प्रक्रिया का हिस्सा रहा है। जबकि .Replace()
विधि एक साधारण स्ट्रिंग से उद्धरण चिह्नों को बाहर निकालने के लिए सीधी है, आपको अधिक जटिल परिदृश्यों को संभालने के लिए जैसे कि नेस्टेड उद्धरण या सशर्त हटाने के लिए नियमित अभिव्यक्तियों जैसी और अधिक उन्नत तकनीकों की आवश्यकता हो सकती है।
.Replace()
के विकल्पों में Regex
वर्ग से विधियाँ शामिल हैं जब आपको महीन-ग्रेड नियंत्रण की आवश्यकता हो या आप निश्चित वर्णों के बजाय पैटर्न से निपट रहे हों। उदाहरण के लिए, Regex.Unescape()
उपयोगी हो सकता है जब आप एस्केप्ड वर्णों से निपट रहे हों।
कार्यान्वयन की दृष्टि से, याद रखें कि C# में स्ट्रिंग्स अपरिवर्तनीय होती हैं, अर्थात् हर बार जब आप .Replace()
का उपयोग करते हैं, एक नई स्ट्रिंग बनाई जाती है। यह छोटे या एक बार के संचालन के लिए बड़ी बात नहीं है, लेकिन बड़ी या अनेक स्ट्रिंग्स के लिए प्रदर्शन के दृष्टिकोण से इसे ध्यान में रखना एक बात है।