我有一种情况,我不想将总字符串长度与其他字符串进行比较。
示例:
string MainString = "Deanna Ecker";
string SearchString = "Ecker Designs";
int value = MainString.IndexOf(SearchString);
这里用整个字符串搜索。但我需要在MainString中找到任何单词。不是整个字符串..
让我知道这怎么可能。
答案 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();