Java检索括号中的字符串字符

ric*_*rge 0 java string

我在Java中有一个String,它以这种格式保存数据:

String x = "xxxxxx xxxxxx xxxxxx (xxx)";
Run Code Online (Sandbox Code Playgroud)

如何将该字符串的值设置为括号中的字符,而不包括括号?(请注意,每个实例中的字符大小会有所不同).

Boh*_*ian 6

单行解决方案是使用String.replaceAll()和适当的正则表达式捕获整个输入(有效地替换整个输入),但也捕获(非贪婪)您想要作为组1的部分,然后放回该组:

String part = x.replaceAll(".*\\((.*?)\\).*", "$1"); 
Run Code Online (Sandbox Code Playgroud)

仅供参考,正则表达式字符串中的双反斜杠是正则表达式中的单斜杠,然后它会转义正则表达式中的字面括号

这是一些测试代码:

public static void main(String[] args) {
    String x = "xxxxxx xxxxxx xxxxxx (xxx)";
    String part = x.replaceAll(".*\\((.*)\\).*", "$1");
    System.out.println(part);
}
Run Code Online (Sandbox Code Playgroud)

输出:

xxx    
Run Code Online (Sandbox Code Playgroud)