Avatar ·

Wie entferne ich alle Zeichen aus einem String außer Buchstaben, Ziffern und Bindestrich in C#?

Hallo zusammen! Ich bin neu in C# und stehe vor folgender Aufgabe: Ich muss einen String von allen Zeichen bereinigen, außer Buchstaben (Lateinisch und Kyrillisch), Ziffern und Bindestrich (-). Zum Beispiel habe ich den String: ```csharp string input = "Hello-World! How are you? (test) 123-456 #2024"; ``` Daraus soll werden: ``` Hello-World How are you test 123-456 2024 ``` Das heißt, Satzzeichen, Leerzeichen, Klammern, Rauten und alles andere außer Buchstaben, Ziffern und Bindestrich werden entfernt. Ich habe versucht, `Regex.Replace` mit dem Muster `[^a-zA-Z0-9-]` zu verwenden, aber es entfernt Kyrillisch, und ich möchte es behalten. Wenn ich `а-яА-Я` hinzufüge, gibt es immer noch Probleme mit Leerzeichen – sie werden auch entfernt, aber ich möchte, dass Leerzeichen erhalten bleiben. Könnt ihr mir sagen, wie ich den regulären Ausdruck richtig erstelle oder ob es einen anderen Weg gibt? Am besten mit einem Codebeispiel. Danke im Voraus! Tags: C#, Strings, reguläre Ausdrücke, String-Bereinigung