我有一个语句(在一行中),我想只提取数字,而不是点和空格。如果有人能帮助我,那就太有帮助了。下面是示例语句(单行字符串):
BIC: XXXXXXXX姓名:MR. YYYYY INZ。ABCIRR。[cn] Abcdefghijlk: ABCDE: 57.10.70.13 2 THE NEXPRK BV IF THE VERREKENEN SALDO
我需要的输出是:571070132
我现在所实现的是单独拉入数字(没有2),下面是正则表达式:( d{2}。 d{2}。 d {2} d{2})。无法继续进行。请帮助
您不需要regex来做这样的事情- LINQ表达式str.Where(char.IsDigit)
将工作得更好:
var str = "BIC: XXXXXXXX Naam: MR. YYYYY INZ. ABCIRR. NE Abcdefghijlk: ABCDE: 57.10.70.13 2 THE NEXPRK BV IF TE VERREKENEN SALDO";
var res = new String(str.Where(char.IsDigit).ToArray());
Console.WriteLine("'{0}'", res);
这会产生以下输出:
'571070132'
将正则表达式应用于此的问题是匹配将在多个组中生成,因此您的代码将需要迭代它们以构建最终输出。LINQ提供了一个更直接的方法,也更容易阅读。
你就快到了
应该可以
d{2}。 d {2} d{2}。 d {2} d
之后可以去掉。