Csharp/C#教程:从字符串中获取所有数字的最佳方法分享


从字符串中获取所有数字的最佳方法

有没有更好的方法来获取一个字符串,如“(123)455-2344”并从中得到“1234552344”而不是这样做:

var matches = Regex.Matches(input, @"[0-9]+", RegexOptions.Compiled); return String.Join(string.Empty, matches.Cast() .Select(x => x.Value).ToArray()); 

也许一个正则表达式模式可以在一场比赛中做到这一点? 我似乎无法创造一个来实现这一目标。

你需要使用正则表达式吗?

 return new String(input.Where(Char.IsDigit).ToArray()); 

你有什么反对Replace

 return Regex.Replace(input, @"[^0-9]+", ""); 

你想用'' (空字符串)替换/D/ (非数字)

 Regex r = new Regex(@"D"); string s = Regex.Replace("(123) 455-2344", r, ""); 

或者更简洁:

 string s = Regex.Replace("(123) 455-2344", @"D",""); //return only numbers from string 

只需删除所有非数字:

 var result = Regex.Replace(input, @"D", ""); 

在perl中(你可以将它改编成C#)就行了

 $str =~ s/[^0-9]//g; 

我假设你的字符串在$ str。 基本思路是用”替换所有非数字(即空字符串)

上述就是C#学习教程:从字符串中获取所有数字的最佳方法分享的全部内容,如果对大家有所用处且需要了解更多关于C#学习教程,希望大家多多关注—计算机技术网(www.ctvol.com)!

本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。

ctvol管理联系方式QQ:251552304

本文章地址:https://www.ctvol.com/cdevelopment/1023672.html

(0)
上一篇 2022年1月7日
下一篇 2022年1月7日

精彩推荐