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"
但我没有按预期得到结果。它被分成多个字符串。我在拆分功能中需要做的改变是什么?
答案 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("#\\|#");