如何使用 LINQ 从字符串中删除字符
我有一个像
XQ74MNT8244A
这样的字符串,我需要从字符串中删除所有 char
。
所以输出将类似于
748244
如何做到这一点? 请帮我做到这一点
I'm having a String like
XQ74MNT8244A
i nee to remove all the char
from the string.
so the output will be like
748244
How to do this?
Please help me to do this
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(8)
两个选择。在 .Net 4 上使用 Linq(在 3.5 上是类似的 - 它没有那么多方法的重载):
或者,使用正则表达式:
我应该添加
IsDigit
和\ D
支持 Unicode,因此除了 0-9 之外它还接受相当多的数字,例如"542abc٣٤"
。您可以轻松地将它们调整为
0
和9
之间的检查,或[^0-9]+
。Two options. Using Linq on .Net 4 (on 3.5 it is similar - it doesn't have that many overloads of all methods):
Or, using a regular expression:
I should add that
IsDigit
and\D
are Unicode-aware, so it accepts quite a few digits besides 0-9, for example"542abc٣٤"
.You can easily adapt them to a check between
0
and9
, or to[^0-9]+
.如果您只需要数字并且确实想要 Linq,请尝试以下操作:
If you need only digits and you really want Linq try this:
使用 LINQ:
Using LINQ:
像这样的东西吗?
Something like this?
为您执行此操作的扩展方法(和重载)怎么样:
重载是为了让您可以保留“-”、“$”或“.”。如果您愿意的话(而不是严格的数字)。
用法:
How about an extension method (and overload) that does this for you:
The overload is so you can retain "-", "$" or "." as well, if you wish (instead of strictly numbers).
Usage: