从字符串正则表达式中提取数字
本文关键字:提取 数字 正则表达式 字符串 | 更新日期: 2023-09-27 18:02:03
我真的在正则表达式中挣扎,似乎无法从这个字符串中提取数字
"id":143331539043251,
我试过了……但是我得到编译错误
var regex = new Regex(@""id:"'d+,");
请注意,完整的字符串包含我不想要的其他数字。我想要id:和结尾之间的数字
试试下面的代码:
var match = Regex.Match(input, @"'""id'"":(?<num>'d+)");
var yourNumber = match.Groups["num"].Value;
然后使用提取的数字yourNumber
作为字符串或解析为数字类型
如果您需要的只是数字,只需匹配:
[0-9]+
请注意,我没有使用'd
,因为它将匹配在任何数字(如阿拉伯数字)在。net正则表达式引擎。
更新问题和答案的注释-下面的正则表达式将匹配模式,并将匹配的数字放在捕获组中:
@"""id"":([0-9]+),"
用作:
Regex.Match(@"""id"":143331539043251,", @"""id"":([0-9]+),").Groups[1].Value
返回143331539043251
如果您愿意使用LINQ,请尝试以下操作(c#):
string stringVariable =" 123cccccbb——556876——==";
var f = (from a in stringVariable.ToCharArray() where Char.IsDigit(a) == true select a);
var number =字符串。加入("f);