我想在特定位置获取字符串中的数字,我不能这样做。
示例:
STRING:
180 MATTHEW SANDLER DON 30.00 1.361,67 00
181 JOHN 30.00 5.987,00 99
182 LUCY P. 30.00 3.888,98 71
我想在每一行返回数字:
1.361,67
5.987,00
3.888,98
不幸的是,该名称具有可变数量的空格,否则它将是一个简单的string.Split(' ')
问题
有人知道该怎么做吗?
答案 0 :(得分:1)
答案 1 :(得分:1)
如果我们在概念上将您想要匹配的术语定义为每行末尾最后两个(或更多?)数字之前的最后一个术语,那么我们可以使用以下正则表达式模式:
(\d+\.\d+,\d+) \d+$
括号中的数量将捕获,并在正则表达式在C#中运行后可用。
string input = "180 MATTHEW SANDLER DON 30.00 1.361,67 00";
var groups = Regex.Match(input,@"(\d+\.\d+,\d+) \d+$").Groups;
var x1 = groups[1].Value;
Console.WriteLine(x1);
在这里演示: