繁体   English   中英

如何用“ |”分割字符串 Java中String类的拆分方法中的“”

[英]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("\\\\|")完成工作。

  • split()根据正则表达式分割字符串
  • 需要\\来将管道的正则表达式的含义转义为“或”
  • 第二个反斜杠需要转义Java编译器的第一个反斜杠。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM