62,614
社区成员
发帖
与我相关
我的任务
分享
private void useRegexp(String s1, String s2) {
boolean found = Pattern.compile("(.* )*" + s2 + "( .*)*").matcher(s1).matches();
}
private void useSplit(String s1, String s2) {
boolean found = Arrays.stream(s1.split(" ")).filter(s -> s.equals(s2)).findFirst().isPresent();
}
public static boolean useIndexOf(String s1, String s2) {
int length1 = s1.length();
int length2 = s2.length();
int limit = length1 - length2;
char last = ' ';
for (int i = 0; i <= limit; i++) {
if (last == ' ' // 左
&& (i == limit || s1.charAt(i + length2) == ' ') // 右
&& s1.regionMatches(i, s2, 0, length2)) {
return true;
}
last = s1.charAt(i);
}
return false;
}