循环通过组合框的项目

时间:2013-12-11 07:33:00

标签: c# loops combobox foreach

我需要将组合框的每个项目与字符串的单词进行比较。 如果它匹配,我需要在字符串的单词前面加上一个$。

我试过

 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 = "";
            }

但是没有追加$符号。为什么?

2 个答案:

答案 0 :(得分:6)

修改

你的代码是正确的,基于给定的输入示例和结果问题在你的正则表达式中,似乎你不需要"\b"尝试:

bool contains = Regex.IsMatch(modify,item);

答案 1 :(得分:1)

你的正则表达式表达不正确,如果在修改字符串中的任何地方找到了该项,它就不会返回true(我想这就是你想要的)

前缀或后缀中不需要\ b来匹配

Regex.IsMatch(modify, item);

这完全匹配修改中的任何文本,而且它应该可以正常工作