JAVA判断字符串是否在两个字符串中间
时间: 2024-11-15 10:14:49 浏览: 17
在Java中,判断一个字符串是否位于另一个字符串的中间,你可以使用`substring()`函数结合循环来实现。下面是一个示例:
```java
public boolean isStringInMiddle(String mainString, String subString) {
if (mainString == null || subString == null) {
return false;
}
int startIndex = -1; // 子串开始索引
int endIndex = -1; // 子串结束索引
for (int i = 0; i < mainString.length() - subString.length() + 1; i++) {
// 查找子串从当前位置开始是否连续匹配
if (mainString.substring(i, i + subString.length()).equals(subString)) {
startIndex = i;
break;
}
}
if (startIndex != -1) {
// 再次查找子串结束位置
for (int j = startIndex + subString.length(); j < mainString.length(); j++) {
if (mainString.substring(j, j + subString.length()).equals(subString)) {
endIndex = j;
break;
}
}
if (endIndex != -1) {
return true; // 如果找到了起始和结束位置,说明在中间
} else {
// 如果只找到起始位置而未找到结束位置,可能是子串在开头部分
return startIndex == 0 && j == mainString.length();
}
} else {
return false; // 没有找到子串
}
}
// 使用示例
String str1 = "Hello, world!";
String subStr = "world";
System.out.println(isStringInMiddle(str1, subStr)); // 输出: true
```
这个方法首先检查主字符串和子字符串是否为空,然后分别寻找子字符串在主字符串中的起始和结束位置。如果找到了起止点,就返回`true`;如果没有找到或者只找到起始位置,返回`false`。
阅读全文