2014-12-22 59 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

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