我需要将组合框的每个项目与字符串的单词进行比较。 如果它匹配,我需要在字符串的单词前面加上一个$。
我试过
if (!String.IsNullOrEmpty(modify))
{
foreach(string item in tcomboBox1.Items)
{
bool contains = Regex.IsMatch(modify, @"\b"+item+"\b");
if (contains == true)
{
string theItem = "$" + item + "$";
modify = modify.Replace(item,theItem);
}
}
ttextBox1.Text = modify;
modify = "";
}
但是没有追加$符号。为什么?
答案 0 :(得分:6)
修改强>
你的代码是正确的,基于给定的输入示例和结果问题在你的正则表达式中,似乎你不需要"\b"
尝试:
bool contains = Regex.IsMatch(modify,item);
答案 1 :(得分:1)
你的正则表达式表达不正确,如果在修改字符串中的任何地方找到了该项,它就不会返回true(我想这就是你想要的)
前缀或后缀中不需要\ b来匹配
Regex.IsMatch(modify, item);
这完全匹配修改中的任何文本,而且它应该可以正常工作