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

ABC ABD 查询相同部分

ABC   ABD  查询相同部分    怎么查询出AB啊 --------------------编程问答-------------------- 2个字符串   ABC  ABD  怎么可以查出相同的?? --------------------编程问答-------------------- 好像有个字符串查找函数吧 --------------------编程问答--------------------  具体怎么查??  大哥 大姐  告诉我下啊 --------------------编程问答-------------------- 我比较笨 
只想到了 字符串拆开 后循环嵌套来比较 --------------------编程问答--------------------
引用 4 楼 klyh1207 的回复:
我比较笨 
只想到了 字符串拆开 后循环嵌套来比较

同上 --------------------编程问答--------------------  一个循环就可以了,貌似没有固定的函数吧。 --------------------编程问答-------------------- 具体怎么做啊  可以把程序写下么? --------------------编程问答--------------------
    protected void Page_Load(object sender, EventArgs e)
    {
        string str1 = "ABC";
        string str2 = "ABD";
        string tmp = "";
        int len = str1.Length > str2.Length ? str2.Length : str1.Length;
        for (int i = 1; i <= len; i++)
        {
            if(str1.Substring(0,i)!=str2.Substring(0,i))
            {
                tmp=str1.Substring(0,i-1);
            }
        }

        Response.Write(tmp);
    }
--------------------编程问答--------------------   protected void Page_Load(object sender, EventArgs e)
    {
        string str1 = "ABC";
        string str2 = "ABD";
        string tmp = "";
        int len = str1.Length > str2.Length ? str2.Length : str1.Length;
        for (int i = 1; i <= len; i++)
        {
            if(str1.Substring(0,i)!=str2.Substring(0,i))
            {
                tmp=str1.Substring(0,i-1);
            }
        }

        Response.Write(tmp);
    }


怎么什么都打印不出来 --------------------编程问答--------------------

string   a   =   "abc "; 
string   b   =   "abd "; 
string   sameStr   =   string.Empty; 
int   max   =   a.Length> b.Length?a.Length:b.Length; 
for(int   i   =   0;     i   <   max   ;   i++) 

      if(a[i]   ==   b[i]   ) 
        sameStr.Append(a[i]); 
}
--------------------编程问答--------------------

string a = "abc ";
            string b = "abd ";
            StringBuilder sameStr = new StringBuilder(1024);
            int max = a.Length > b.Length ? a.Length : b.Length;
            for (int i = 0; i < max; i++)
            {
                if (a[i] == b[i])
                    sameStr.Append(a[i]);
            }
            Console.WriteLine(sameStr);

刚刚搞错了,应该把sameStr改成StringBuilder类型 --------------------编程问答--------------------

            Char[] char1s = "ABC".ToCharArray();
            String str2 = "ABD";

            foreach (char c in char1s)
            {
                if(str2.IndexOf(c)>-1) Console.Write(c);
            }
--------------------编程问答-------------------- if (a[i] == b[i])
                    sameStr.Append(a[i]);
else 
   break; --------------------编程问答-------------------- string A = "ABCABC";
string B = "ABDABC";
string C = getSameStr(A, B);
/// <summary>
/// 取得2字符串最长的相同区域
/// </summary>
/// <param name="A"></param>
/// <param name="B"></param>
/// <returns></returns>
private static string getSameStr(string A, string B)
{
if (string.IsNullOrEmpty(A) || string.IsNullOrEmpty(B))
return string.Empty;
string result = string.Empty;
for (int i = 0; i < A.Length; i++)
{
string str = string.Empty;
for (int j = A.Length - i; j > 0; j--)
{
str = A.Substring(i, j);
if (B.Contains(str))
{
if (result.Length < str.Length)
{
result = str;
}
}
}
}
return result;
}

--------------------编程问答--------------------
引用 11 楼 luolina1989 的回复:
C# code

string a = "abc ";
            string b = "abd ";
            StringBuilder sameStr = new StringBuilder(1024);
            int max = a.Length > b.Length ? a.Length : b.Length;
         ……



sameStr.Append  什么意思?? --------------------编程问答-------------------- 问:sameStr.Append 什么意思??
答:是StringBuilder类型的一个方法。 --------------------编程问答--------------------  运行不出来   不过还是谢谢你 --------------------编程问答-------------------- 不可能啊!我在我机器上试过了!可以的! --------------------编程问答-------------------- 那  要把  ABC  改成  AABC 也不行了啊  
  要怎么改?? --------------------编程问答-------------------- 还有  为什么 a b  字符串长度必须一样??   可以不一样么?? --------------------编程问答--------------------
引用 20 楼 xp2098448 的回复:
还有 为什么 a b 字符串长度必须一样?? 可以不一样么??


可以。。。
string a = "aabc ";
            string b = "abd ";
            StringBuilder sameStr = new StringBuilder(1024);
            int max = a.Length > b.Length ? a.Length : b.Length;
            for (int i = 0; i < max; i++)
            {
                if (a[i] == b[i])
                    sameStr.Append(a[i]);
                else
                    break;
            }
--------------------编程问答--------------------

string a = "aabc";
            string b = "abd";
            string sameStr = string.Empty;
            for (int i = 0; i < a.Length; i++)
            {
                string str = string.Empty;
                for (int j = a.Length - i; j > 0; j--)
                {
                    str = a.Substring(i, j);
                    if (b.Contains(str))
                    {
                        if (sameStr.Length < str.Length)
                        {
                            sameStr = str;
                        }
                    }
                }
            }
            Console.WriteLine(sameStr);

刚刚没有考虑周到!抱歉! --------------------编程问答-------------------- 你真厉害啊。。。。  你QQ给我留下不?谢谢
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,