如何使用c#比较字符串与另一个字符串

时间:2014-03-14 12:07:57

标签: c# string

我有一种情况,我不想将总字符串长度与其他字符串进行比较。

示例:

string MainString = "Deanna Ecker";

string SearchString = "Ecker Designs";

int value = MainString.IndexOf(SearchString);

这里用整个字符串搜索。但我需要在MainString中找到任何单词。不是整个字符串..

让我知道这怎么可能。

3 个答案:

答案 0 :(得分:8)

如果区分大小写不是问题,您可以按空格分割两个字符串,然后与两个列表相交以查看是否存在任何匹配:

var foundWords = MainString.Split(' ').Intersect(SearchString.Split(' '));

或者,如果您只想知道是否找到了某个单词:

var isMatch = MainString.Split(' ').Intersect(SearchString.Split(' ')).Any();

答案 1 :(得分:1)

您可以将字符串转换为字符数组,然后通过循环从所有字符搜索每个字符 这样

public bool MatchString(string first,string second)
{
  char[] ch1=first.ToCharArray();
  char[] ch2=second.ToCharArray();
  bool match=false;
  for(int i=0 ; i<ch1.length ; i++)
   {
      for(int j=0 ; j<ch2.length ; j++)
       {
             if(ch2[j]==ch[i])
              {
                match=true;
                break;
              } 
       }
   }
 return match;
}

答案 2 :(得分:0)

尝试:var wordMatch = MainString.Split(' ').Intersect(SearchString.Split(' ')).Any();