gpt4 book ai didi

java - 无法使用 Java 正确分割字符串

转载 作者:行者123 更新时间:2023-12-01 18:38:16 27 4
gpt4 key购买 nike

我正在从数据库中提取数据并尝试操作生成的字符串:

public class Main {
public static void main(String[] args) {
Connection sqlConn = connectSQL();
ResultSet rs;
Statement select;
try {
select = sqlConn.createStatement();
rs = select
.executeQuery("SELECT DISTINCT TSK.PointPerson FROM Task AS TSK LEFT JOIN [User] AS USR ON USR.DisplayName = TSK.PointPerson WHERE USR.DisplayName IS NULL AND TSK.PointPerson IS NOT NULL");
while (rs.next()) {
String displayName = rs.getString(1);
System.out.println(displayName);
if (displayName.contains("(")) {
String[] splittedString = displayName.split("(");
}

}
} catch (SQLException e) {
e.printStackTrace();
}
}

我在这一行收到错误:String[] splittedString = displayName.split("(");

Exception in thread "main" java.util.regex.PatternSyntaxException: Unclosed group near index 1
(
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.accept(Unknown Source)
at java.util.regex.Pattern.group0(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.lang.String.split(Unknown Source)
at java.lang.String.split(Unknown Source)
at Main.main(Main.java:21)

我不明白为什么会发生这种情况。如果我删除这条线,它就可以正常工作。我得到的结果如下:

Dipankar XYZ(pradhand)
Rocky XYZ

正如您所看到的,有些有“(”,有些则没有。我试图用我的 if 语句来适应这一点。

我做错了什么?

最佳答案

split 使用正则表达式作为参数,而 ( 是正则表达式元字符,在本例中以 groups 开头。要使其成为文字,您需要将其转义,例如split("\\(")split("[(]")

关于java - 无法使用 Java 正确分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20912955/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com