2014-12-22 60 views
-1

我正在尝试执行一些包含字符串(ing)和字符串数组(splitwords)的代码。
我需要运行一个字符串,如果它匹配字符串数组中的字符串,那么与原始字符串做一些事情。查找与RegExp完全匹配的字符串

StringBuilder builder = new StringBuilder(); 

      ing = " " + ing + " "; 

      builder.Append(@"{\rtf1\ansi"); 

      foreach (string word in splitwords) 
      { 

       if (Regex.IsMatch(ing, @"(?<![\w])" + word + @"(?![\w])")) 
       { 
        //do domething 
       } 

      builder.Append(ing); 
      builder.Append(@"}"); 


      return builder.ToString();  

它运行正常,但如果这个词相匹配的“雷特”,并在文中有他认为it's匹配单词“leitelho”。 如何更改我的条件解决此问题?

+0

如何''雷特在比赛中''leite' leitelho' –

+0

为什么downvote? –

+0

@Avinash Raj。它不应该匹配,但它确实..这是qhy我寻求帮助。 –

回答

1

您可以使用此代码,我在地方的动产荷兰国际集团的原:(?!<\ W)(?!\ w)的

static void Main(string[] args) 
    { 
     StringBuilder builder = new StringBuilder(); 
     string original = "leite"; 
     string[] splitwords = new string[] { "leitelho", "leite", "One" }; 

     original = " " + original + " "; 

     builder.Append(@"{\rtf1\ansi"); 

     foreach (string word in splitwords) 
     { 

      if (Regex.IsMatch(original, @"(?<![\w])" + word + @"(?![\w])")) 
      { 
       //do domething 
       builder.Append(original); 
       builder.Append(@"}"); 
       Console.Write(builder.ToString()); 
       return; 
      } 
     } 
    } 
+0

它可能只适用于“leite”和其他人的单词? –

+0

确定你可以使用你想要的。 –