java如何去掉字符串所有括号以及括号里面的内容
时间: 2023-08-29 21:12:47 浏览: 155
可以使用正则表达式来实现去掉字符串所有括号以及括号里面的内容。
示例代码:
```java
String str = "abc(def)ghi(jkl)mno";
str = str.replaceAll("\\([^()]*\\)", "");
System.out.println(str);
```
输出结果为:`abcghi`。
解释:
- `\\(`:表示匹配左括号。
- `[^()]*`:表示匹配不包含括号的任意字符,使用`[^abc]`表示匹配不包含`a`、`b`、`c`的任意字符。
- `\\)`:表示匹配右括号。
- `\\([^()]*\\)`:表示匹配整个括号及其内容。
- `replaceAll`方法将所有匹配到的括号及其内容替换为空字符串。
相关问题
java 提取字符串内中括号的内容
可以使用正则表达式来提取字符串内中括号的内容,如下所示:
```java
String input = "这是一个 [示例] 字符串,[其中] 包含中括号内容";
Pattern pattern = Pattern.compile("\\[(.*?)\\]");
Matcher matcher = pattern.matcher(input);
while (matcher.find()) {
String content = matcher.group(1);
System.out.println(content);
}
```
输出结果为:
```
示例
其中
```
解释一下正则表达式的含义:
- `\\[` 和 `\\]`:匹配左右中括号。由于中括号是正则表达式中的特殊字符,所以需要在前面加上反斜杠进行转义。
- `(.*?)`:匹配中括号内的任意字符,使用非贪婪模式,即尽可能少地匹配字符。使用括号将匹配结果保存到分组中,以便后续使用。
因此,以上正则表达式可以匹配任意包含中括号的字符串,并提取其中的内容。
Java字符串去除大括号
可以使用字符串的replace()方法来去除大括号。示例代码如下:
```java
String str = "{hello world}";
str = str.replace("{", "").replace("}", "");
System.out.println(str); // 输出 "hello world"
```
其中,replace()方法接受两个字符串参数,第一个参数表示要被替换的字符串,第二个参数表示要替换成的字符串。上述代码中,先用replace()方法将左大括号替换为空字符串,然后再将右大括号替换为空字符串,即可去除大括号。