Регулярное выражение для включения специального символа - PullRequest
0 голосов
/ 03 августа 2020

У меня есть требование удалить все специальные символы из любой строки, кроме «и».

ClientName = Regex.Replace(ClientName, @"\(.*?\)", " ").Trim();

Это регулярное выражение, которое я использую. Я хочу исключить все специальные символы, кроме «и».

Пример:

clientName= "S"unny, Cool. Mr"

Результат должен быть

"S"unny Cool Mr"

1 Ответ

1 голос
/ 03 августа 2020

Рассмотрите возможность использования следующего шаблона:

@"[^\p{L}\p{Nd}'""\s]+"

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

string clientName = "S\"unny, Cool. Mr";
string output = Regex.Replace(clientName, @"[^\p{L}\p{Nd}'""]+", "");
Console.WriteLine(output);

Это напечатает:

S"unny Cool Mr

Символьные классы \p{L} и \p{N} представляют все буквы и числа Unicode, поэтому их размещение в классе отрицательных символов означает удаление всего, что является не числом или буквой.

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