如何查找其中包含特定字母的所有单词?
例如,如果我的字符串是
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");
答案 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 字符匹配。