Я пытаюсь удалить специальные символы (за некоторыми исключениями) из строки с помощью this MSDN example. Я использую рамки NET v4.0 и мой код выглядит следующим образом:Замена специальных символов с регулярным выражением - C#
myString = Regex.Replace(myString, @"[^\w [email protected]$*-_.]", "",
RegexOptions.None);
Однако, во время тестирования, я заметил, что на верхней части символов, перечисленных выше, не заменяя другим, как [] \ или /. Я думал, что это поймает регулярное выражение, и это касается меня, что могут быть и другие, которые тоже не пойманы.
Любой совет, чтобы выяснить причину и как ее решить, будет очень признателен. Спасибо огромное!
Вы пытаетесь разрешить '!', '$' И '*' в дополнение к слову, период, hypen и '@' указанной исходной MSDN пример? Я вижу, что вы изменили регулярное выражение из этого примера. –
Как сказал @JohnWeldon, ваш пример отличается от примера веб-сайта, который вы опубликовали. Какие исключения вы хотите? Также - этот сайт полезен для тестирования наших выражений Regex - http://www.regexpal.com/ – Asnivor
Привет, Джон. Да, я допускаю символы «! @ $ * -_». (без кавычек), плюс пустое пространство. Проблема в том, что это не только позволяет, но и еще кое-что, что я нашел во время тестирования (например, «[] \ /», опять же, без кавычек). Я бы хотел, чтобы он разрешал только персонажи, которые я перечисляю, и другие. – Irina