gpt4 book ai didi

java - 使用子字符串作为分隔符分割或标记 java 字符串

转载 作者:行者123 更新时间:2023-12-02 02:09:56 25 4
gpt4 key购买 nike

如何在java中不基于正则表达式而是基于子字符串来分割或标记字符串?

String str = "{A={111={i=[a,b,c],ii=[e,f]}, 222={iii=[a,e]}}, B={333={i= [b,c]}}};

现在我想根据子字符串“}}”而不是正则表达式“}}”来标记或分割字符串。

最佳答案

尽管String.split(String regex)函数指定它采用正则表达式作为参数,这不会阻止您转义任何特殊字符并拆分文字字符串。

要转义正则表达式中的特殊字符,您可以使用 Pattern.quote(String s)函数,或者您可以使用反斜杠转义单个字符 \\:

String escapedStr = Pattern.quote("}},");

String alternativeEscapedStr = "\\}\\},";

对于您提供的示例,您不需要转义任何内容:

String str = "{A={111={i=[a,b,c],ii=[e,f]}, 222={iii=[a,e]}}, B={333={i= [b,c]}}}";

String[] splitStr = str.split(Pattern.quote("}},"));
System.out.println(Arrays.toString(splitStr));

String[] splitStr2 = str.split("}},");
System.out.println(Arrays.toString(splitStr2));

输出:

[{A={111={i=[a,b,c],ii=[e,f]}, 222={iii=[a,e],  B={333={i= [b,c]}}}]
[{A={111={i=[a,b,c],ii=[e,f]}, 222={iii=[a,e], B={333={i= [b,c]}}}]

关于java - 使用子字符串作为分隔符分割或标记 java 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50171893/

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