[英]check if string array contains value
我必须检查字符串数组test2[]
包含test1[]
的值。 怎么做? 两个阵列的大小不同。 我还必须检查test2[]
包含test1[]
的子字符串。
String[] test = {"Test1", "Test2"};
String[] test2 = {"Test3", "Test4", "Test5", "Test6", "Test1 - Test7"};
非常感谢。
您只需要几个嵌套循环并进行迭代。 您的问题不明确,您说的contains
词可能equals
或contains 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.