我想从一个字符串中删除字母。最好的方法是什么?更准确地说,我有一个系统的MAC地址,我只想从中提取数字。我在这篇文章或stackoverflow上找到了这个链接:link text。
我想知道是否使用正则表达式是最好的方法,还是有其他方法可以做到这一点(也许使用LINQ)。
我想知道是否使用正则表达式是最好的方法,还是有其他方法可以做到这一点(也许使用LINQ)。
var digits = Regex.Replace(text, @"\D", "");
\D
匹配任何非数字字符,因此去除它们将给出剩余的数字。
string input = "12-34-56-78-9A-BC";
string result = new String(input.Where(Char.IsDigit).ToArray());
非LINQ / 2.0方法:
string result = new String(Array.FindAll(input.ToCharArray(),
delegate(char c) { return Char.IsDigit(c); }));
这将替换任何不是数字的内容,并只留下数字:
string text = "abc123abc:13sdf2";
string numbers = Regex.Replace(text, @"[^\d]+", "");
Console.WriteLine(numbers);