c# 怎么去掉数字中的非法的字母和非法的其它字符串呢?

c# 怎么去掉数字中的非法的字母和非法的其它字符串呢?

-0.053J
-0.053]
-0.053[
-0.0533
-0.053k
-0.053J.


-0.053J
-0.053]
-0.0y3[
-0.0533
-0.0S3k
-0.0K3J.

回答:首先知道它们的编码,然后采用字符串替换函数就行了,当然,我认为保留下来你想要的可能会简单一些,保留下来想要的,可能就需要用到字符串拼接了,采用效率更高的字符串拼接类,这个可以找一下叫啥名称(Java里面叫StringBuffer、StringBuilder)

如果只是需要把文本中的非数字的字符去掉的话
可以使用正则表达式进行一次性把非数字的字符替换为空

使用正则表达式直接就去除了。

这个正则表达式怎么写呢?帮我写一下,谢谢!!!

您可以使用Linq过滤掉所需的字符:

String source = "Hello there(hello#)";
// "Hellotherehello"
String result = new String(source
.Where(ch => Char.IsLetterOrDigit(ch))
.ToArray());
要么

String result = String.Concat(source
.Where(ch => Char.IsLetterOrDigit(ch)));
因此,您无需使用正则表达式.

//去掉字符串中的非数字

public static string RemoveNotNumber(string key)
{
  return Regex.Replace(key, @"[^\d]*", "");
}