java 获取两个字符串中间的字符串
时间: 2023-11-27 16:47:27 浏览: 28
以下是Java获取两个字符串中间的字符串的方法:
```java
public static String getMiddleString(String input, String start, String end) {
int startIndex = input.indexOf(start);
if (startIndex ! -1) {
int endIndex = input.indexOf(end, startIndex + start.length());
if (endIndex != -1) {
return input.substring(startIndex + start.length(), endIndex);
}
}
return "";
}
```
调用方法:
```java
String input = "This is a [sample] string";
String start = "[";
String end = "]";
String result = getMiddleString(input, start, end);
System.out.println(result); // 输出:sample
```
相关问题
java获取两个字符串中相同子串
Java可以通过使用字符串的indexOf方法来获取两个字符串中相同的子串。首先,我们可以遍历一个字符串的每个字符,并在另一个字符串中使用indexOf方法查找是否存在相同的字符。如果存在相同的字符,则可以使用substring方法获取到相同子串。
以下是示例代码:
```java
public class CommonSubstring {
public static void main(String[] args) {
String str1 = "Hello World";
String str2 = "Hello Java";
for (int i = 0; i < str1.length(); i++) {
char c = str1.charAt(i);
int index = str2.indexOf(c);
if (index != -1) {
String commonSubstring = str1.substring(i, i + 1);
System.out.println("相同子串:" + commonSubstring);
}
}
}
}
```
在上述代码中,我们使用一个for循环来遍历第一个字符串的每个字符。然后,我们使用charAt方法获取到当前字符,并使用indexOf方法在第二个字符串中查找是否存在相同的字符。如果找到相同的字符,我们使用substring方法获取到相同子串,并通过打印输出来展示。
以上代码输出的结果将是:
```
相同子串:H
相同子串:e
相同子串:l
相同子串:l
相同子串:o
```
这样,我们就成功地获取到了两个字符串中相同的子串。
java如何获取两个字符串中间的字符串
可以使用 Java 中的正则表达式来获取两个字符串中间的字符串。具体实现可以使用 String 类中的 split() 方法或者 Pattern 类中的 matcher() 方法。
例如,假设有两个字符串 str1 和 str2,要获取它们之间的字符串,可以使用以下代码:
```
String pattern = String.format("%s(.*?)%s", str1, str2);
Pattern r = Pattern.compile(pattern);
Matcher m = r.matcher(inputString);
if (m.find()) {
String result = m.group(1);
System.out.println(result);
}
```
其中,pattern 是一个正则表达式,用来匹配两个字符串之间的内容。我们使用 String 类中的 format() 方法来生成这个正则表达式,其中 (.*?) 表示一个非贪婪匹配,即尽可能少地匹配字符。然后,我们使用 Pattern 类中的 compile() 方法来编译这个正则表达式,并使用 matcher() 方法来匹配输入字符串。如果匹配成功,我们就可以使用 group() 方法来获取匹配到的内容。
需要注意的是,这个方法只能匹配第一次出现的两个字符串之间的内容。如果有多个匹配,需要使用循环来获取所有匹配结果。