我需要使用正则表达式在Java中拆分字符串,但是我不太确定该怎么做。我必须分开
[Caps][RCaps]C[Caps][RCaps]atalog[Caps][RCaps]
放在方括号内。我不知何故需要获取字符串的所有部分。
预期产量:
[Caps]
[RCaps]
C
[Caps]
[RCaps]
atalog
[Caps]
[RCaps]
方括号内的文本可以是任何东西。在这种情况下,它是“ Caps”和“ RCaps”,但也可以是“ Potato”
最佳答案
您需要做的是在[
字符之前和]
字符之后进行拆分,这将转换为正则表达式(?=\\[)|(?<=\\])
。
例:
String string = "[Caps][RCaps]C[Caps][RCaps]atalog[Caps][RCaps]";
String[] result = string.split("(?=\\[)|(?<=\\])");
System.out.println(Arrays.toString(result));
打印:
[[Caps], [RCaps], C, [Caps], [RCaps], atalog, [Caps], [RCaps]]