使用正则表达式从字符串中删除非单词

时间:2016-10-27 20:41:52

标签: c# regex

如何编写一个与非纯字母

相匹配的正则表达式

然后删除它们

  

乔布斯CAR0 PAPER J! #$ 4A

,结果应为

  

乔布斯纸

我尝试了这个,它似乎与我想保留的词相匹配。我怎么能写出与此相反的内容?

  

\ B [A-ZA-Z] + \ B'/ P>

更新:

单个字母本身很好,只是没有与非字母混合

2 个答案:

答案 0 :(得分:0)

\b[a-zA-Z]{2,}\b会产生预期的结果,尽管更多的用例会产生更强大的表达。

https://regex101.com/r/o1ZY45/1

答案 1 :(得分:0)

你可以用linq做到这一点!

string words = "Jobs CAR0 PAPER J! #$4A";


var result = words.Split(' ').Where(x => x.All(char.IsLetter));
var stringResult = String.Join(" ", result);