Java字符串拆分“|”

时间:2013-05-01 01:54:27

标签: java string string-split

我试图用Java解析一些数据,用'|'分隔序列。以下是数据的示例。

String s = "111206|00:00:00|2|64104|58041";
String [] temp = s.split("|");
for(String p: temp)
System.out.println(p);

但不是分裂为'|'它分别将每个角色分开。这是我得到的上述代码的输出。

 1
 1
 1
 2
 0
 6
 |
 0
 0
 :
 0
 0
 :
 0
 0
 |
 2
 |
 6
 4
 1
 0
 4
 |
 5
 8
 0
 4
 1

我通过更换“|”找到了转身通过','在行中,但代码片段将运行多次,我想优化它。

 String s = "111206|00:00:00|2|64104|58041";
 s = s.replace('|', ',');

我只是想知道'|'的问题是什么??

1 个答案:

答案 0 :(得分:27)

您必须使用:

String [] temp = s.split("\\|");

这是因为split方法采用正则表达式,|是特殊字符之一。它的意思是'或'。这意味着您要按'' or ''进行拆分,这只是''。因此它会在每个角色之间分开。

你需要两个斜杠,因为第一个用于转义字符串中的实际\,因为\是字符串中Java的转义字符。 Java理解像“\|”之类的字符串,然后正则表达式将其理解为“|”。