如果我有一串数据,里面有数字。这种模式是不一致的。我想从字符串中提取所有数字,并且只提取一个定义为允许的字符。我认为 RegEx 可能是执行此操作的最简单方法。你能提供一个可以做到这一点的正则表达式模式吗,因为我认为正则表达式是巫术,只有正则表达式医学人才知道它是如何工作的
例如/
"Q1W2EE3R45T" = "12345"
"WWED456J" = "456"
"ABC123" = "123"
"N123" = "N123" //N is an allowed character
更新:这是我的代码:
var data = Value.Split(new char[] { ',' }, StringSplitOptions.RemoveEmptyEntries);
data = data.Select(x => Regex.Replace(x, "??????", String.Empty)).ToArray();
最佳答案
String numbersOnly = Regex.Replace(str, @"[^\d]", String.Empty);
使用 Regex.Replace(string,string,string)
静态方法。
要允许 N
,您可以将模式更改为 [^\dN]
。如果您也在寻找 n
,您可以申请 RegexOptions.IgnoreCase
或者将类更改为 [^\dnN]
关于c# - 用于替换除数字之外的所有字符的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9774323/