Ich muss Dateinamen aufräumen. So habe ich diesen Code:Regex auf jedes Nicht-Wort-Zeichen, aber die minus
//\W_ is any non-word character (not [^a-zA-Z0-9_]).
Regex regex = new Regex(@"[\W_]+");
return regex.Replace(source, replacement);
Dies funktioniert gut, aber jetzt will ich nicht, das Minus entfernen (-), also habe ich die Regex dazu:
[\W_^-]+
Aber das tut nicht arbeiten. Was habe ich verpasst?
Wenn Sie die Einfügemarke ('^') in einer Zeichenklasse irgendwo anders als am Anfang verwenden, verliert es seine besondere Bedeutung. Und wenn du es richtig benutzt, negiert es alles in der Charakterklasse. Verwenden Sie stattdessen ['[^ a-zA-Z0-9-] +'] (http://rubular.com/r/onJOpL9Fwk). – NullUserException
Danke. Das funktioniert. Ich dachte, man könnte etwas einfaches mit dem \ W machen, aber ich denke nicht. Wenn Sie Ihren Kommentar als Antwort hinzufügen, kann ich ihn genehmigen. – Remy