Удаление чисел из текста с помощью C # - PullRequest
7 голосов
/ 23 февраля 2012

У меня есть текстовый файл для обработки, в котором есть несколько цифр. Я хочу просто текст в нем, и ничего больше. Мне удалось убрать знаки препинания, но как мне убрать цифры? Я хочу это с помощью кода C #.

Кроме того, я хочу удалить слова длиной более 10. Как это сделать с помощью выражений Reg?

Ответы [ 4 ]

28 голосов
/ 23 февраля 2012

Вы можете сделать это с помощью регулярного выражения:

string withNumbers = // string with numbers
string withoutNumbers = Regex.Replace(withNumbers, "[0-9]", "");

Используйте это регулярное выражение для удаления слов длиной более 10 символов:

[\w]{10, 100}

100 определяет максимальную длину для соответствия.Я не знаю, есть ли квантификатор для минимальной длины ...

3 голосов
/ 23 февраля 2012

Только буквы и ничего больше (потому что я вижу, вы также хотите удалить знаки препинания)

Regex.IsMatch(input, @"^[a-zA-Z]+$");

1 голос
/ 23 февраля 2012

Метод Regex.Replace должен помочь.

// regex to match any digit
var regex = new Regex("\d");                     
// replace all matches in input with empty string
var output = regex.Replace(input, String.Empty);
1 голос
/ 23 февраля 2012

Вы также можете использовать string.Join:

string s = "asdasdad34534t3sdf43534";
s = string.Join(null, System.Text.RegularExpressions.Regex.Split(s, "[\\d]"));
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...