gpt4 book ai didi

java - 通过正则表达式拆分字符串

转载 作者:行者123 更新时间:2023-12-03 22:09:50 24 4
gpt4 key购买 nike

我这里有这个字符串:M412 Rex | -爆头-。我想在 | 上拆分它以获得名字,但是我的代码没有按预期工作。

        System.out.println("weaponPart = " + weaponPart);
String[] weaponPartParts = weaponPart.split(" | ");
for (String s : weaponPartParts) {
System.out.println("s = " + s);
}
System.out.println();

打印出来:

weaponPart = M412 Rex | -HEADSHOT-
s = M412
s = Rex
s = |
s = -HEADSHOT-

我假设它与正则表达式匹配有关,但实际上发生了什么?

最佳答案

您必须对正则表达式中的特殊字符 | 进行两次转义:\\|(意思是“或”)

换句话说,你的实际模式意味着“当你找到一个空间或一个空间时 split ”

因此好的线路是:

String[] weaponPartParts = weaponPart.split(" \\| ");

作为旁白注释这些特殊字符 \| ( ) [ { ^ $ * + ? . 是“黑打”。

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

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