C# में स्ट्रिंग से अक्षरों, अंकों और हाइफ़न को छोड़कर सभी वर्णों को कैसे हटाएं?
सभी को नमस्कार! मैं C# में नया हूँ और मुझे इस कार्य का सामना करना पड़ा: स्ट्रिंग को अक्षरों (लैटिन और सिरिलिक), अंकों और हाइफ़न (-) को छोड़कर सभी वर्णों से साफ़ करना है। उदाहरण के लिए, एक स्ट्रिंग है:
string input = "Hello-World! How are you? (test) 123-456 #2024";
इससे प्राप्त होना चाहिए:
Hello-World How are you test 123-456 2024
अर्थात, विराम चिह्न, स्पेस, कोष्ठक, हैशटैग और अक्षरों, अंकों और हाइफ़न को छोड़कर बाकी सब हटा दिया जाता है।
मैंने Regex.Replace का उपयोग पैटर्न [^a-zA-Z0-9-] के साथ करने की कोशिश की, लेकिन यह सिरिलिक को हटा देता है, जबकि मुझे इसे संरक्षित रखना है। यदि а-яА-Я जोड़ता हूँ, तो भी स्पेस के साथ कुछ समस्याएँ रहती हैं — वे भी हटा दिए जाते हैं, जबकि मुझे स्पेस को बनाए रखना है।
कृपया बताएं कि सही regular expression कैसे बनाएं या कोई अन्य तरीका है? अधिमानतः
```