使用C#从文本中删除数字

时间:2012-02-23 10:49:31

标签: c# text

我有一个用于处理的文本文件,其中包含一些数字。我想要JUST文本,没有别的。我设法删除了标点符号,但如何删除这些数字呢?我希望使用C#代码。

另外,我想删除长度大于10的单词。如何使用Reg表达式执行此操作?

4 个答案:

答案 0 :(得分:28)

您可以使用正则表达式执行此操作:

string withNumbers = // string with numbers
string withoutNumbers = Regex.Replace(withNumbers, "[0-9]", "");

使用此正则表达式删除超过10个字符的字词:

[\w]{10, 100}

100定义要匹配的最大长度。我不知道是否有最小长度的量词......

答案 1 :(得分:3)

只有字母而没有别的(因为我看到你也想删除标点符号)

Regex.IsMatch(input, @"^[a-zA-Z]+$");

答案 2 :(得分:1)

您也可以使用string.Join:

string s = "asdasdad34534t3sdf43534";
s = string.Join(null, System.Text.RegularExpressions.Regex.Split(s, "[\\d]"));

答案 3 :(得分:1)

Regex.Replace方法应该可以解决问题。

// regex to match any digit
var regex = new Regex("\d");                     
// replace all matches in input with empty string
var output = regex.Replace(input, String.Empty);