【发布时间】:2017-08-23 10:28:55
【问题描述】:
我有两个字符串str,str2。两个字符串都有空格。我使用了 contains 方法,但它不适合这里,因为它只检查确切的字符。此处如何检查一个字符串是否为子字符串。
我已经使用下面的代码实现了它。因此,如果原始字符串中存在字符串“FOO BAR”,则代码中的函数将打印 true。
public static void main(String[] args) {
String str = "FOO BAR";
String str1 = "FOO T BAR";
String orignialString;
String stringToMatch;
if (str1.length() > str.length()) {
orignialString = str1;
stringToMatch = str;
} else {
orignialString = str1;
stringToMatch = str;
}
boolean flag = false;
String[] stringarr = stringToMatch.split(" ");
for (int i = 0; i < stringarr.length; i++) {
if (orignialString.contains(stringarr[i])) {
flag = true;
} else {
flag = false;
break;
}
}
System.out.println("IS SUBSTRING---> " + flag);
}
我正在使用 Pattern Matcher / REGEX 寻找更简洁的短代码。
【问题讨论】:
-
Regexp 不会告诉您一个字符串是否包含在另一个字符串中。它宁愿判断一个字符串是否匹配某个规则。如果您的示例中的 str 是动态更改的,则 regexp 将无济于事,否则它可以。
-
How can I perform a partial match with java.util.regex.*? 前两个答案可能是您正在寻找的?
-
@AnnaP。我浏览了链接。我的要求是检查原始字符串中是否存在子字符串。在链接示例中,它只找到部分字符串