java写一段代码把字符串括号里面和括号外面的字符分别提取出来
时间: 2024-02-27 12:58:24 浏览: 157
可以使用正则表达式来实现。
以下是一个示例代码:
```java
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Main {
public static void main(String[] args) {
String str = "This is (a test) string";
Pattern p = Pattern.compile("\\((.*?)\\)"); // 匹配括号内的内容
Matcher m = p.matcher(str);
if (m.find()) {
System.out.println("括号内的内容:" + m.group(1));
System.out.println("括号外的内容:" + str.substring(0, m.start()) + str.substring(m.end()));
}
}
}
```
输出结果为:
```
括号内的内容:a test
括号外的内容:This is string
```
代码解释:
1. 首先定义一个字符串 `str`,它包含了括号内和括号外的内容。
2. 然后使用正则表达式 `\\((.*?)\\)` 匹配括号内的内容。其中 `\\(` 和 `\\)` 表示匹配左右括号,`(.*?)` 表示匹配括号内的任意字符,`?` 表示非贪婪模式,即尽可能少的匹配字符。
3. 使用 `Matcher` 对象的 `find()` 方法查找匹配结果。
4. 如果找到了匹配结果,使用 `group(1)` 方法获取括号内的内容。
5. 使用 `start()` 和 `end()` 方法获取匹配结果的起始和结束位置,然后使用 `substring()` 方法获取括号外的内容。
阅读全文