首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >剔除字符串中的非数字字符

剔除字符串中的非数字字符
EN

Stack Overflow用户
提问于 2010-10-20 19:56:47
回答 11查看 110.9K关注 0票数 149

我希望在ASP.NET C#中剔除字符串中的非数字字符,即40,595 p.a.将以40595结尾。

谢谢

EN

回答 11

Stack Overflow用户

回答已采纳

发布于 2010-10-20 20:04:57

有很多方法,但这应该可以做到(虽然不知道它在处理非常大的字符串时是如何执行的):

代码语言:javascript
复制
private static string GetNumbers(string input)
{
    return new string(input.Where(c => char.IsDigit(c)).ToArray());
}
票数 290
EN

Stack Overflow用户

发布于 2010-10-20 20:17:14

感觉很适合正则表达式。

代码语言:javascript
复制
var s = "40,595 p.a.";
var stripped = Regex.Replace(s, "[^0-9]", "");

@"\D"可以取代"[^0-9]",但我喜欢[^0-9]的可读性。

票数 79
EN

Stack Overflow用户

发布于 2015-11-18 23:55:17

扩展方法将是更好的方法:

代码语言:javascript
复制
public static string GetNumbers(this string text)
    {
        text = text ?? string.Empty;
        return new string(text.Where(p => char.IsDigit(p)).ToArray());
    }
票数 9
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3977497

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档