我想在Java中用“|”分割一个字符串。我找到了 String 类的 split 方法,它需要一个用于拆分分隔符的正则表达式,但我不知道如何为“|”形成一个正则表达式。
例如,一个字符串是“AA | BB | CC”,我想只获取 AA、BB 和 CC 作为字符串数组。
我想在Java中用“|”分割一个字符串。我找到了 String 类的 split 方法,它需要一个用于拆分分隔符的正则表达式,但我不知道如何为“|”形成一个正则表达式。
例如,一个字符串是“AA | BB | CC”,我想只获取 AA、BB 和 CC 作为字符串数组。
String string = "AA|BB|CC";
String[] arr = string.split("\\|");
for (String s : arr) {
System.out.println(s);
}
上面的代码打印:
AA
BB
CC
为此使用正则表达式,但|
char 是一种特殊的 char,因此您必须对其进行转义。
"AA | BB | CC".split("\\s*\\|\\s*");
传递给该split
方法的正则表达式应该是:\\|
.
String text = "AA | BB | CC";
text.split("\\|")); // [AA , BB , CC]
如果你想摆脱空格,那么:
text.split("\\s*\\|\\s*")); // [AA, BB, CC]
|
是 RegEX 中的关键字。
String.split()
将 RegEx 作为参数。你必须逃避它。你可以这样做。
string.split(" \\| ");
它是string.split("\\|")
(必须转义管道)。
| 是正则表达式中的特殊字符,因此您必须对其进行转义。
尝试:
string.split("\\|")
string.split("\\|")
做这项工作。
\
需要将管道的正则表达式含义转义为“或”