我想比较数组lists.i.e" M1_1"中的两个字符串。将第一个列表与" M1_3"进行比较其他数组列表。我只想在" _"之前进行比较。 如果是" _"之前的字母数字是相同的,即......" M1"和" M1"相同然后显示它。我尝试了一些代码,但我认为它比较整个字符串。 我搜索问题,但我没有找到它。抱歉,如果它出现在重复项中。 谢谢
ArrayList<String> str1=new ArrayList<String>();
str1.add("M1_1");
str1.add("M1_2");
str1.add("M2_1");
ArrayList<String> str2=new ArrayList<String>();
str2.add("M1_3");
str2.add("M1_4");
str2.add("M2_2");
for ( String s : Str) {
for (String s2 : St2) {
if (Str.equals("string2")) {
//do something
}
}
}
答案 0 :(得分:0)
在for循环内你可以做这样的事情
String s1 = "M1_h";
String s2 = "M2_s";
if(s1.split("_")[0].equalsIgnoreCase(s2.split("_")[0])){
System.out.println("true");
}else{
System.out.println("false");
}
答案 1 :(得分:0)
试试这个。完美的工作。我自己测试过。
ArrayList<String> str1=new ArrayList<String>();
str1.add("M1_1");
str1.add("M1_2");
str1.add("M2_1");
ArrayList<String> str2=new ArrayList<String>();
str2.add("M1_3");
str2.add("M1_4");
str2.add("M2_2");
for ( String s : str1) {
for (String s2 : str2) {
if (s.split("_")[0].equals(s2.split("_")[0])) {
System.out.println(s + " equals " + s2);
}
}
}
答案 2 :(得分:-1)
您可以使用substring函数来比较两个字符串的一部分
ArrayList<String> str=new ArrayList<String>();
str.add("M1_1");
str.add("M1_2");
str.add("M2_1");
ArrayList<String> str2=new ArrayList<String>();
str2.add("M1_3");
str2.add("M1_4");
str2.add("M2_2");
for ( String s : Str) {
for (String s2 : St2) {
if (s.substring(0,lengthofyoursubstring).equals(s2.substring(0,lengthofyoursubstring))) {
//do something
}
}
}