gpt4 book ai didi

java - 如何在Java中使用特殊字符 `}` 、 `/` 、 `-` 和 `{` 分割字符串

转载 作者:行者123 更新时间:2023-12-01 07:47:44 24 4
gpt4 key购买 nike

我一直在关注线程How to split a string in Java并取得了成功。

但在当前用例中,我正在处理的String包含特殊字符。

我有一个 String 作为 https://{domain name}/{type of data}/4583236-{name-of-perpetrators} 我想要从中提取 4583236

质量检查 How to split the string using '^' this special character in java?或多或少与我之前提到的问题相关,但对我的用例没有帮助。

我的程序在任一特殊字符上随机抛出 PatternSyntaxException: 非法重复

代码块:

    String current_url = "https://{domain name}/{type of data}/4583236-{name-of-perpetrators}";
String[] urlParts = current_url.split("type of data}/");
String mySuburl = urlParts[1];
String[] suburl = mySuburl.split("-{name-of-perpetrators");
String mytext = suburl[0];
System.out.println(mytext);

错误堆栈跟踪:

Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition
{name-of-perpetrators
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(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 demo.TextSplit.main(TextSplit.java:18)

最佳答案

尝试使用Pattern.quote为了避免逐个字符地转义,它会免费为您做到这一点:

String[] suburl = mySuburl.split(Pattern.quote("-{name-of-perpetrators"));

关于java - 如何在Java中使用特殊字符 `}` 、 `/` 、 `-` 和 `{` 分割字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48169870/

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