java正则表达式,同时在括号上拆分字符串

标签 java split

我有一个像

这样的 String
Move Selected Patients (38)

我想使用 java split 在括号之间检索 38

尝试使用此代码:

String a1 = "Move Selected Patients (38)";
String[] myStringArray = new String[2];
myStringArray = a1.split("(", 2);
System.out.println(myStringArray[0]);

失败并出现以下异常:

java.util.regex.PatternSyntaxException: Unclosed group near index 1.

谁能帮帮我。

最佳答案

您需要转义括号,因为拆分参数仍然是正则表达式:\\(。请记住,这仍将返回 38) 作为第二个元素。使用 Matcher 来捕获组中括号的内容会更有意义:\\((.*?)\\)

关于java正则表达式,同时在括号上拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15698289/

相关文章:

java - 为什么这个字符串 : javax. sql.rowset.serial.SerialClob 包含在输出文件中而不是实际值中

java - Libgdx 可以在其坐标系中存储非常大的数字吗?

java - 在 JPA Criteria API 的子查询中使用 ORDER BY 的替代方法是什么?

sql - 如何在 Sql 中以特定方式格式化字符串

bash - 如何获取匹配的行号?

java - 将 String 的首字母分开以进行大写

java - 如何实现栈中的空元素

D语言中的字符串拆分

c# - C# 的 Split() 中的转义字符

java - 通过 Boost ASIO 服务器和 Java 客户端之间的 TCP 发送 double