正则表达式查找具有特定字符的单词

时间:2019-05-27 04:12:36

标签: c# regex

如何查找其中包含特定字母的所有单词?

例如,如果我的字符串是

This is a Station called South Yarra

然后我要提取所有带有字母“ a”的单词。比赛将是

"a", "Station", "called", "Yarra"

到目前为止,我已经尝试过

Regex regex = new Regex(@"\w[a]\w");

Regex regex = new Regex(@"\s[a*]\s");

3 个答案:

答案 0 :(得分:1)

尝试使用以下正则表达式

Regex regex = new Regex(@"[^\s]*[a][^\s]*");

答案 1 :(得分:1)

使用Linq无需正则表达式的解决方案:

List<string> arr = s.Split(' ').Where(x => x.Contains('a')).ToList();

string.Split(' '):它返回字符串数组,其中包含此实例中由''

分隔的子字符串

Enumerable.Where(predicate):基于谓词的过滤顺序

Enumerable.Contains():确定序列是否包含指定的元素

POC:.net Fiddle

答案 2 :(得分:1)

根据您要如何处理标点符号(例如连字号),请考虑仅使用\w*a\w*

仅供参考:\w word 字符匹配。