在java中比较字符串的特定字母表的两个数组列表

时间:2017-03-28 17:43:43

标签: java arrays string

我想比较数组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
                }
            }
        }

3 个答案:

答案 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
                    }
                }
            }