.NET RegEx: заменить антисанитарные символы - PullRequest
1 голос
/ 05 января 2010

Допустим, у меня есть строка, которая может содержать любые символы UTF-16, но я хочу заменить все символы, не входящие в белый список, подчеркиванием. Допустим, белый список - это [A-Za-z], [0-9] и [- :.].

Как бы я использовал класс Regex для замены всех символов, не входящих в белый список?

1 Ответ

4 голосов
/ 05 января 2010

Вы можете сделать это с помощью:

[^A-Za-z0-9:.-]

Каретка является оператором отрицания. Так что это будет соответствовать каждому персонажу, которого нет в классе персонажей.

А затем вы просто заменяете спички на подчеркивание следующим образом:

Regex myRegex = new Regex(@"[^A-Za-z0-9:.-]", RegexOptions.Multiline);
return myRegex.Replace("your target string here", "_");

Вот оно в действии .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...