C# 从字符串中删除字母表
我想删除字符串中的字母。最好的方法是什么。更准确地说,我有一个系统的MAC地址,我只想从中提取数字。我找到了这篇文章或stackoverflowC# 从字符串中删除字母表,c#,C#,我想删除字符串中的字母。最好的方法是什么。更准确地说,我有一个系统的MAC地址,我只想从中提取数字。我找到了这篇文章或stackoverflow 我想知道,使用正则表达式是最好的方法还是有其他方法(可能使用LINQ)。这将取代任何不是数字的东西,只留下数字: string text = "abc123abc:13sdf2"; string numbers = Regex.Replace(text, @"[^\d]+", ""); Console.W
我想知道,使用正则表达式是最好的方法还是有其他方法(可能使用LINQ)。这将取代任何不是数字的东西,只留下数字:
string text = "abc123abc:13sdf2";
string numbers = Regex.Replace(text, @"[^\d]+", "");
Console.WriteLine(numbers);
要获取数字,可以使用以下正则表达式:
var digits = Regex.Replace(text, @"\D", "");
\D
匹配任何非数字的内容,因此删除这些内容将获得剩余的数字 LINQ方法如下:
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); }));
您希望结果是数字还是字母?出于好奇,需要从MAC地址中删除字母的情况是什么?我已经开始处理DICOM文件,有一些工具可以让您修改这些文件中的属性。我正试图改变“学习状态UID”的说法。我想生成一个新的“StudyInstanceUID”,而DICOM标准不允许(至少我是这么理解的)“StudyInstanceUID”中的字母。我只是想用类似的东西更新我的答案。谢谢。@Brian谢谢,我对正则表达式方法也非常满意。是否\D包含+或=它也被替换了:-/