如何使用分隔字符串拆分字符串"#|#"

时间:2017-05-02 13:25:29

标签: java regex

String line = "First string March 8, # 2017: Boris#|#Second string";
String[] list = line.split("#|#");

我期待list[0] = "First string March 8, # 2017: Boris"

list[1] = "Second string"

但我没有按预期得到结果。它被分成多个字符串。我在拆分功能中需要做的改变是什么?

3 个答案:

答案 0 :(得分:2)

String[] list = line.split("#\\|#");

split()方法(第一个)参数应包含正则表达式。 |是一个特殊字符是Regex,因此您需要使用\将其转义为字面意义上的正则表达式。

答案 1 :(得分:0)

您需要转义管道:#\\|#

示例:

 String line = "First string March 8, # 2017: Boris#|#Second string";
 String[] list = line.split("#\\|#");
 System.out.println(Arrays.toString(list));

答案 2 :(得分:0)

split()方法并不期望普通字符串,但 regular expressions 。因此,您需要转义 |烧焦;所以去:

 split("#\\|#");