Java-替换括号中的字符串

标签 java regex string

我怎样才能在java中做到这一点:

给定一个字符串,对于括号中的每个文本,如果它包含“blabla”,则删除这些括号中的所有文本,包括括号本身

示例:

some string (some text) (blabla foo bar) => some string (some text)
some string (some text) (blabla) => some string (some text)
some string (ex ex) => unchanged (because words in parenthesis doesn't contain "blabla")

谢谢。

最佳答案

您可以尝试下面的replaceAll函数。

string.replaceAll("\\([^()]*blabla[^()]*\\)", "");

说明:

  • \\( 匹配文字 ( 符号。
  • [^()]* 否定字符类,与 () 以外的任何字符匹配零次或多次。<
  • blabla 匹配字符串 blabla
  • [^()]* 否定字符类,与 () 以外的任何字符匹配零次或多次。<
  • \\) 匹配文字 ) 符号。

关于Java-替换括号中的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27103507/

相关文章:

java正则表达式提取方括号内的内容

java - String.valueOf(String Object) 的 null 和 "null"有什么区别

java - 使用 Gretty Gradle 插件测试 WebSocket

java - 如何将双值从jsp存储到spring mvc Controller

java - JVM 字节码浮点否定 : not allowed but possible?

string - 从 TStringList 中删除字符串

Java 我该如何解析这个?

java - 文本文件正在从网上下载,但 ePub/Pdf 有问题

javascript - 由 JavaScript 中的一个字符拆分,但不是连续的字符

regex - 是否可以将正则表达式直接放入 XML 内容中?