我希望在ASP.NET C#中剔除字符串中的非数字字符,即40,595 p.a.
将以40595
结尾。
谢谢
发布于 2010-10-20 20:04:57
有很多方法,但这应该可以做到(虽然不知道它在处理非常大的字符串时是如何执行的):
private static string GetNumbers(string input)
{
return new string(input.Where(c => char.IsDigit(c)).ToArray());
}
发布于 2010-10-20 20:17:14
感觉很适合正则表达式。
var s = "40,595 p.a.";
var stripped = Regex.Replace(s, "[^0-9]", "");
@"\D"
可以取代"[^0-9]"
,但我喜欢[^0-9]
的可读性。
发布于 2015-11-18 23:55:17
扩展方法将是更好的方法:
public static string GetNumbers(this string text)
{
text = text ?? string.Empty;
return new string(text.Where(p => char.IsDigit(p)).ToArray());
}
https://stackoverflow.com/questions/3977497
复制相似问题