كيفية إزالة جميع الرموز من سلسلة نصية باستثناء الحروف والأرقام والواصلة في C#؟
مرحبًا بالجميع! أنا مبتدئ في C# واجهت هذه المهمة: أحتاج إلى تنظيف سلسلة نصية من جميع الرموز باستثناء الحروف (لاتينية وسيريلية) والأرقام والواصلة (-). على سبيل المثال، لدينا السلسلة:
```csharp
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-]`، لكنه يزيل الحروف السيريلية، وأحتاج إلى الاحتفاظ بها. إذا أضفت `а-яА-Я`، تظل هناك مشاكل مع المسافات — يتم إزالتها أيضًا، بينما أحتاج إلى بقائها.
أرجو إرشادي حول كيفية تكوين تعبير منتظم بشكل صحيح أو هل هناك طريقة أخرى؟ يُفضل مع مثال كود. شكرًا مقدمًا!
الوسوم: C#, سلاسل نصية, تعبيرات منتظمة, تنظيف سلاسل