1。将长度较短作为参照,对其进行取子串,并将其子串在另一个字符串中进行匹配。
从大往小取,长度依次递减。
*/
public String getMaxString(String str1,String str2)
{
String max="";
for(int x=0;x<str2.length();x++)
{
String temp1=str2.substring(x);
for(int y=temp1.length();y>0;y--)
{
String temp2=temp1.substring(0,y);
if((str1.indexOf(temp1))!=-1&&temp2.length()>max.length())
max=temp2;
}
}
return max;
}
/*
第二种方式。获取长度最大的子串,进行匹配,不满足,长度依次递次递增减减
将每一次长度递减的子串全部取出进行匹配。
*/
public String getMaxString_2(String str1,String str2)
{
for(int x=0;x<str2.length();x++)
{
for(int y=0,z=str2.length()-x;z<=str2.length();y++,z++)
{
String temp=str2.substring(y,z);
if(str1.contains(temp))
return temp;
//System.out.println(temp);
}
}
return "";
} |