c#如何判断一个字符串是否包含非指定的字符串数组的字符? 5

如:string[]str=newstring[]{"11","22","33"};另一个字符串:strings1="11332211122333",则s1是完全是由st... 如:string[] str = new string[] { "11", "22", "33" };
另一个字符串:string s1="11332211122333",则s1是完全是由str数组中的字符组成的,尽管部分内容被重复了,即s1不包含str之外的字符,返回false;
还有一个字符串:string s2="aa11223",则s2 包含str之外的字符.true.

请高手及前辈帮忙.
展开
 我来答
哲事姓无
2013-01-17 · TA获得超过1178个赞
知道小有建树答主
回答量:903
采纳率:100%
帮助的人:472万
展开全部
好像有点点麻烦的。我有一个思路你看看怎么样

创建一个与s1同长度的布尔数组,先设置为true。

然后从str中取一个到s1中使用index进行匹配(注意会有多次匹配的,所以要使用start参数),如果有则知道匹配是从什么地方开始到什么地方结束。然后在布尔数组中的相同地方设置为false

然后从str中取第二个字符串进行相同操作直到所有字符串比较完成。

最后检查布尔数组中的值是不是还剩有true,如果有的话就返回false,如果没有true了,则返回true。
百度网友81955c4
2013-01-21
知道答主
回答量:41
采纳率:0%
帮助的人:17.3万
展开全部
public bool test1(string[] table, string str)
{
string pattern = "^[";
for (int i = 0; i < table.Length; i++)
{
pattern += table[i] + "|";
}
pattern = pattern.Substring(0, pattern.Length - 1) + "]";

Regex r = new Regex(pattern);

Match m = r.Match(str);
if (m.Success)
{
//不包含其他字符
return false;
}
else
{
//包含其他字符
return true;
}
}
调用:
string[] str = new string[] { "11", "22", "33" };
string s1 = "11332211122333";
if(test1(str,s1))
{
//"含有其他字符";
}
else
{
//"不含有其他字符";
}

string s2 = "aa11223";
if (test1(str, s2))
{
//"含有其他字符";
}
else
{
//"不含有其他字符";
}
别忘了命名空间:using System.Text.RegularExpressions;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
卷人2f
2013-01-17 · TA获得超过1352个赞
知道小有建树答主
回答量:1044
采纳率:50%
帮助的人:750万
展开全部
public static bool test()
{
bool flag = true;
string s;
string[] str = new string[] { "11", "22", "33" };
s = String.Join("", str);
string s1 = "11332211122333";
foreach (char ch in s1)
{
if (s.IndexOf(ch) < 0) //包含数组以为的字符
{
flag=true;
break;
}
else
{
flag = false; //说明都是由里面的值组成的
}
}
return flag;
}
测试通过!
追问
如果 s1="123",这个明显就不是str中的数组拼成的,即包含了str数组之外的内容,但你的程序做不到.
追答
你现在的是意思是直接由"11","22","33"这三个数组组成的这种类似的?如果是这样的话,就不用循环了,直接s1.IndexOf("数组里面的元素"),判断条件还是一样的,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
程小二S
2013-01-16
知道答主
回答量:41
采纳率:0%
帮助的人:23.1万
展开全部
像这样需要去比较内容的,用equals方法去比较,例如if(s1.equals(str)){return true}这样去判断
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wuyajungo
2013-01-16 · TA获得超过2877个赞
知道小有建树答主
回答量:152
采纳率:0%
帮助的人:84.2万
展开全部
问题描述的不是很清楚啊,看不明白
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式