比较Java中的两个字符串
我有两个比较Java中的两个字符串,java,string,Java,String,我有两个字符串,例如: s1=abcd s2=abfg 我想比较这两个Strings并打印起始String,直到它们不同。例如,在这种情况下,我想打印ab。我怎样才能得到这个结果?packagesimple; package simple; public class Simple { public static void main(String[] args) { String s1 = "abcf"; String s2 = "abdf";
字符串,例如:
s1=abcd
s2=abfg
我想比较这两个String
s并打印起始String
,直到它们不同。例如,在这种情况下,我想打印ab
。我怎样才能得到这个结果?packagesimple;
package simple;
public class Simple {
public static void main(String[] args) {
String s1 = "abcf";
String s2 = "abdf";
StringBuilder sb = new StringBuilder();
int k = s1.length() < s2.length() ? s1.length() : s2.length();
for (int i = 0; i < k; i++) {
if (s1.charAt(i) == s2.charAt(i)) {
sb.append(s1.charAt(i));
} else {
break;
}
}
System.out.print(sb);
}
}
公共类简单{
公共静态void main(字符串[]args){
字符串s1=“abcf”;
字符串s2=“abdf”;
StringBuilder sb=新的StringBuilder();
int k=s1.length()
如@IvanPronin所述,如果您经常这样做,您可以使用StringUtils的索引差异:
String s1 = "abcf";
String s2 = "abdf";
System.out.println(s1.substring(0, StringUtils.indexOfDifference(s1, s2)));
但是您必须下载jar并包含它 您可以使用子字符串(int startIndex,int endIndex)从每个位置拆分字符串
String s1 = "abcd";
String s2 = "abfg";
List<String> stringlist = new ArrayList<String>();
String shortest = null;
if(s1.length() <= s2.length()){
shortest = s2;
}
for(int i = 1 ; i<shortest.length() ; i++){
if(s1.substring(0,i).equals(s2.substring(0,i))){
stringlist.add(s1.substring(0,i));
}
}
System.out.println(stringlist.get(stringlist.size()-1));
String s1=“abcd”;
字符串s2=“abfg”;
List stringlist=新建ArrayList();
字符串最短=空;
如果(s1.长度()转换为字符数组并将loopLook转换为org.apache.commons.lang3.StringUtils
类,其中包含大量有用的String
methods@IvanPronin具体地说,你在说什么?你可以循环而不必转换成字符数组。只需使用一个达到最短字符串长度的for循环,然后使用charAt字符串类上的()方法。