大虾们,小弟向各位请教个问题:
在网上找了很多,都没达到此效果。请帮忙哦
小弟做的是考试系统,是答案匹配问题。比如:string str1="ABCD";
string str2="AC";
如何判断str2包含于str1里面?
用indexof()方法,只能判断"AB"包含于"ABCD"里,不能判断"AC"包含于"ABCD"里面。
在网上找了很多,都没达到此效果。请帮忙哦
小弟做的是考试系统,是答案匹配问题。比如:string str1="ABCD";
string str2="AC";
如何判断str2包含于str1里面?
用indexof()方法,只能判断"AB"包含于"ABCD"里,不能判断"AC"包含于"ABCD"里面。
string str2="AC";
bool flag =true;
foreach(char c in str2)
{
if(str2.IndexOf(c)==-1)
{
flag = false;
break;
}
}
if(flag)
{MessageBox.Show("存在");}
else {MessageBox.Show("不存在");}
string str1="ABCD";
string str2="AC";
bool flag =true;
foreach(char c in str2)
{
if(str1.IndexOf(c)==-1)
{
flag = false;
break;
}
}
if(flag)
{MessageBox.Show("存在");}
else {MessageBox.Show("不存在");}
{
if(str1.Contains(str2[i]))
{
Flag=true
}
}
也谢谢大哥你的解答,如果我没有理解错你的代码的话,你的代码应该是:
string str1 = "ABCD";
string str2 = "AC";
bool flag = true;
for (int i = 0; i < str2.Length; i++)
{
if (str1.Contains(str2[i]))
{
flag = true;
}
}
if (flag)
{
Response.Write("正确");
}
else
{
Response.Write("错误");
}
我测试了一下,如果我string str2="ABE"话,就不能测试成功了。也再次谢谢大哥你的解答。
我刚开始时,是用indexOf()直接将两个字符串匹配,所以导致只能判断"AB"包含于"ABCD"里,不能判断"AC"包含于"ABCD"里面。希望对有同样需求并还未能解答的朋友有所帮助,谢谢各位的关注与帮助...