0

我想在Java中用“|”分割一个字符串。我找到了 String 类的 split 方法,它需要一个用于拆分分隔符的正则表达式,但我不知道如何为“|”形成一个正则表达式。

例如,一个字符串是“AA | BB | CC”,我想只获取 AA、BB 和 CC 作为字符串数组。

4

7 回答 7

3
String string = "AA|BB|CC";
String[] arr = string.split("\\|");
for (String s : arr) {
    System.out.println(s);
}

上面的代码打印:

AA
BB
CC
于 2013-06-05T07:38:58.693 回答
2

为此使用正则表达式,但|char 是一种特殊的 char,因此您必须对其进行转义。

"AA | BB | CC".split("\\s*\\|\\s*");

于 2013-06-05T07:35:52.747 回答
1

传递给该split方法的正则表达式应该是:\\|.

String text = "AA | BB | CC";
text.split("\\|")); // [AA ,  BB ,  CC]

如果你想摆脱空格,那么:

text.split("\\s*\\|\\s*")); // [AA, BB, CC]
于 2013-06-05T07:36:51.247 回答
1

|是 RegEX 中的关键字。

String.split()将 RegEx 作为参数。你必须逃避它。你可以这样做。

string.split(" \\| ");
于 2013-06-05T07:37:03.730 回答
1

它是string.split("\\|")(必须转义管道)。

于 2013-06-05T07:36:03.327 回答
1

| 是正则表达式中的特殊字符,因此您必须对其进行转义。

尝试: string.split("\\|")

于 2013-06-05T07:36:08.357 回答
1

string.split("\\|")做这项工作。

  • split() 根据正则表达式拆分字符串
  • \需要将管道的正则表达式含义转义为“或”
  • 第二个反斜杠需要转义 java 编译器的第一个反斜杠。
于 2013-06-05T07:38:33.993 回答