Как убрать буквы из строки? - PullRequest
5 голосов
/ 17 июня 2010

Я хочу убрать все буквы в строке, которые не являются числовыми.Желательно решение, сделанное с помощью регулярных выражений или чего-то еще.И в C #.Как это сделать?

Ответы [ 4 ]

5 голосов
/ 17 июня 2010

Использование Regex:

str = Regex.Replace(str, @"\D+", "");

\D является дополнением к \d - соответствует всему, что не является цифрой. + будет соответствовать одному или нескольким из них (обычно это работает немного лучше, чем один за другим).

Использование Linq (в .Net 4.0):

str = String.Concat(str.Where(Char.IsDigit));
0 голосов
/ 17 июня 2010

Мне скорее нравится использовать не ^, как ^\d или ^[0-9]

string resultString = null;
try {
    resultString = Regex.Replace(subjectString, @"[^\d]+", "");
} catch (ArgumentException ex) {
    // Syntax error in the regular expression
}
0 голосов
/ 17 июня 2010
string str = "ab123123abc"
str = Regex.Replace(str, @"[\w]", ""); 

Ссылка от http://msdn.microsoft.com/en-us/library/844skk0h.aspx

0 голосов
/ 17 июня 2010
string result = System.Text.RegularExpressions.Regex.Replace("text to look for stuff", "pattern", "what to replace it with")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...