c# - 连续查找字符串中单词的重复项
问题描述
dictNum2 = {{"eins", 1}, {"zwei", 2}, {"drei", 3} ...};
foreach (KeyValuePair<string, int> dsa in dictNum2)
{
Regex regexTemp = new Regex(dsa.Key);
MatchCollection matchTemp = regexTemp.Matches(stringInput);
if ((stringInput.Contains(dsa.Key) && dsa.Value < 10))
{
var indexList = Regex.Matches(stringInput, dsa.Key).Cast<Match>().Select(m => m.Index).ToList();
indexList.AddRange(indexList);
for(int i = 1; i < indexList.Count; i++)
{
if(indexList[i] == indexList[i-1] + dsa.Key.Length)
{
inaRow++;
}
}
}
}
这个想法是:需要在一个字符串中找到彼此跟随的单词数,该字符串包含在字典中。我有一段代码适用于“zweizweizwei”之类的东西,但输入可能是这样的字符串:
"zweihundert zweidrei undzwanzig" 或 "zweiund dreieins "
有办法解决吗?谢谢
解决方案
在正则表达式中使用单词边界
Regex regexTemp = new Regex($"\b{dsa.Key}\b")
推荐阅读
- unity3d - 为虚拟现实统一映射现实世界
- mysql - 无法使用我的本地笔记本电脑连接到在 Azure 上的 Linux(ubuntu 16.04)虚拟机上运行的 MySQL
- c++ - 如何从 C++ 中的代码显示文本文件?
- python - Python Scraping:尝试根据用户输入抓取特定数据(电话详细信息)
- javascript - Webpack 开发服务器:如何将 localhost 端口重定向到不同端口的 URL
- python - 添加到(“cuda:0”)后PyTorch渐变不起作用
- protocols - 十六进制字符串产生半清晰的输出。如何找到其余部分的编码方式及其含义?
- angular - 使用 @Output 和 EventEmitter 在 Angular 中的两个组件之间进行通信
- swift - “找不到类”即使我之前在另一个视图控制器中做过,但它不起作用
- vba - 在 Mac 上使用 Excel VBA 进行 WebScraping