【发布时间】:2014-02-04 02:32:11
【问题描述】:
编辑[20140203 2143]
我有一个字符串 0.00,0.00,0.00,"0.00","AID000000000",0.00,0,0,我想在前导 ,"AID 和尾随 ", 之间获取值,这些值永远不会改变。
c# 中的正则表达式应该是什么样的? (我是正则表达式领域的新手)
【问题讨论】:
编辑[20140203 2143]
我有一个字符串 0.00,0.00,0.00,"0.00","AID000000000",0.00,0,0,我想在前导 ,"AID 和尾随 ", 之间获取值,这些值永远不会改变。
c# 中的正则表达式应该是什么样的? (我是正则表达式领域的新手)
【问题讨论】:
这个正则表达式应该可以工作:
(?<=,"AID)[0-9]+(?=",)
这使用lookaheads and lookbehinds 来匹配,"AID 和", 之间的数字
您可以在这里试用:http://www.rubular.com/r/T0RBuqh9JX
【讨论】:
使用正则表达式:
var reg = new Regex(@"\d+");
var numbersOnly = reg.Match(yourString).Value;
你也可以用 LINQ 做到这一点,去掉所有非数字字符:
var numbersOnly = new string(yourString.Where(char.IsNumber).ToArray());
在这两种情况下,结果都是:
"0000000000"
(我假设您想要字符串中的结果。)
【讨论】:
0.00,0.00,0.00,"0.00","AID000000000",0.00,0,0 会起作用吗?