正则表达式:找到字符串中的所有数字
我想获得一个像这样的字符串的所有数字:正则表达式:找到字符串中的所有数字
"0" => Groups = "0"
"1 2-3" => Groups = "1", "2", "3"
"45i6" => Groups = "4", "5", "6"
我使用这个代码:
var pattern = @"(\d)";
var m = System.Text.RegularExpressions.Regex.Match(value, pattern);
if(m.Success)
{
foreach (var gp in m.Groups)
{
Console.WriteLine(gp);
}
}
你能帮助我获得良好格局吗?
非常感谢
OK,好的代码:
感谢丹尼尔
我使用这个代码:
var pattern = @"(\d)";
var ms = System.Text.RegularExpressions.Regex.Matches(value, pattern);
if(ms.Count > 0)
{
foreach (var m in ms)
{
Console.WriteLine(m);
}
}
如果不是停留在正则表达式,一个更简单的方法是:
var digits = someString.Where(c => char.IsDigit(c)).ToArray();
或甚至:'someString.Where(Char.IsDigit).ToArray();' – soniiic
@soniiic好的通话 - 我总是忘记这一点。 ReSharper的不断骂我的那一个。 –
你想要做Matches
。您只需一组与该模式。
由于丹尼尔 我正在使用此代码: VAR图案= @ “(\ d)”; VAR MS = System.Text.RegularExpressions.Regex.Matches(值,图案); (ms.Count> 0) foreach(var m,ms) { Console.WriteLine(m); } } – Bob
什么是你的代码错误? – qJake