[英]How to split a string by “ | ” in split method of String class in Java
我想在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*");
它是string.split("\\\\|")
(必须对管道进行转义)。
| 是正则表达式中的特殊字符,因此您必须对其进行转义。
试试: string.split("\\\\|")
传递给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("\\\\|")
完成工作。
\\
来将管道的正则表达式的含义转义为“或”
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.