当前位置:编程学习 > C#/ASP.NET >>

如何比较两个字符串是否相互包含

我想比较两个字符串
检查两个字符串是否相互包含.
比如:
a=asd;
b=zxcasd;
经过处理可以返回:
a包含b,还是b包含a,还是相互不包含

注:不用c#中的函数,比如indexof等。最好有人知道在c#里是怎样实现的? --------------------编程问答-------------------- string a="asdd";
string b="zxcasd";
Regex reg=new Regex(a);
Regex reg1=new Regex(b);
if(reg.IsMatch(b))
{
Console.WriteLine("a(b");
}
else if(reg1.IsMatch(a))
{
Console.WriteLine("b(a");
}
else
{
Console.WriteLine("a/b");
}

--------------------编程问答-------------------- 把两个字符串合起来,用Indexof判断是否大于1就行了。 --------------------编程问答-------------------- 最好有人能告诉我c#底层是如何实现indexof功能的 --------------------编程问答--------------------
引用 3 楼 lingshi123 的回复:
最好有人能告诉我c#底层是如何实现indexof功能的

用reflector来看吧 --------------------编程问答-------------------- 底层还有底层,还有底底层,还有底底底层,还有。。。。你想要哪个底层? --------------------编程问答--------------------
引用 3 楼 lingshi123 的回复:
最好有人能告诉我c#底层是如何实现indexof功能的


将string做char[]来处理(C#强类型不支持这样的匹配,但是C、C++是认的,计算机内部也是这样认的,16位汇编都没有string的概念。。。扯远了),然后遍历,发现char[i]和要求的字符一致,返回索引。。。

string匹配的话,就先看第一个,匹配再看第二个,当匹配数等于string长度时,返回索引。 --------------------编程问答-------------------- "zxcasd".Contains("asd"); --------------------编程问答-------------------- Regex.Matches("", "").Count
Contains --------------------编程问答-------------------- 应该是使用contains
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,