我试图过滤掉 inputstring 上的 addressnumber,但问题是我的代码在输入多个数字的字符串时会导致不需要的结果。是否有可能告诉正则表达式过滤到一个数组或类似的东西来识别原始字符串中是否有多个数字?String theNumbers = String.Join(String.Empty, Regex.Matches(inputString, @"\d+").OfType<Match>().Select(m => m.Value));我现在也以不同的方式尝试了它,但是 Regex.Split 在数组中生成空字符串,只是将它们过滤掉对我来说似乎有点麻烦。String[] extractedNumbersArray = Regex.Split(inputString, @"\D+");
1 回答
温温酱
TA贡献1752条经验 获得超4个赞
希望这有帮助(在线):
using System;
using System.Text.RegularExpressions;
using System.Linq;
public class Program
{
public static void Main()
{
var inputString = "1 2 3";
var values = Regex
.Matches(inputString, @"(?<nr>\d+)")
.OfType<Match>()
.Select(m => m.Groups["nr"].Value)
.ToArray();
Console.WriteLine("Multipe numbers: " + (values.Length > 1 ? "yep" : "nope"));
foreach (var v in values)
{
Console.WriteLine(v);
}
}
}
- 1 回答
- 0 关注
- 124 浏览
添加回答
举报
0/150
提交
取消