簡體   English   中英

檢查字符串數組是否包含值

[英]check if string array contains value

我必須檢查字符串數組test2[]包含test1[]的值。 怎么做? 兩個陣列的大小不同。 我還必須檢查test2[]包含test1[]的子字符串。

String[] test = {"Test1", "Test2"};
String[] test2 = {"Test3", "Test4", "Test5", "Test6", "Test1 - Test7"};

非常感謝。

您只需要幾個嵌套循環並進行迭代。 您的問題不明確,您說的contains詞可能equalscontains the substring 在任何一種情況下,如果您想要相等匹配,只需將.contains()替換為.equals()

for (String value : test) {
        for (String sampleString : test2) {
            if (sampleString.contains(value)) {
                System.out.println("Value " + value + " is contained in the array in " + sampleString);
            }
        }
    }
public boolean checkIfHaveSameElements(String[] test1, String[] test2) {
    for (String str2 : test2) {
        for (String str1 : test1) {
            if (str2.equals(str1)) {
                return true;
            }
        }
    }
    return false;
}

只需將您的數組作為方法調用參數即可。

您可以使用兩個for循環,一個用於迭代test ,另一個用於檢查該項是否包含在test2

public static boolean checkIfExists(String[] arr, String item) {
    for (String n : arr) {

         if (n.contains(item)) {
            return true;
         }
      }
      return false;
   }

而在主要方法

String[] test = {"Test1", "Test2"};
String[] test2 = {"Test3", "Test4", "Test5", "Test6", "Test1 - Test7"};
for(String t : test) {
    System.out.println(checkIfExists(test2, t));
}

使用Java 8 API,我首先檢查整個字符串是否存在或子字符串是否存在。

public class CheckString {

public static void main(String[] args) {      

    String[] test = {"Test1", "Test3", "Test2"};
    String[] test2 = {"Test3", "Test4", "Test5", "Test6", "Test1 - Test7"};

    boolean isPresent = Arrays.stream(test2)
                              .filter(str->{
                               return Arrays.asList(test).indexOf(str) > 0 || checkString(test,str);
                               })
                              .collect(Collectors.toList())
                              .isEmpty();

    System.out.println(!isPresent);

    }
    private static boolean checkString(String[] strs, String chkStr){
        for(String str: strs){
            if(chkStr.contains(str)){
                return true;
            }
        }
        return false;
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM