C#正则表达式删除除\ d +,一,九和小数点以外的所有内容

时间:2014-08-15 07:14:20

标签: c# regex regex-negation

我该怎么办呢。

new Regex("([^\d+]|[^one]|[^nine]|[^,])").Replace("Fi10An,fONEy,Onineo", "");

我会得到这个:

10,one,nine

但是上面我的错误正则表达式我会得到一个空字符串。

提前谢谢你!

1 个答案:

答案 0 :(得分:2)

尝试相反的做法:匹配你需要的东西,然后从字符串中取出它。例如:

Regex.Matches("Fi10An,fONEy,Onineo", @"(\d+|one|nine|,)", RegexOptions.IgnoreCase)

然后将匹配组合成一个字符串。这将是最简单,最清晰的解决方案。