2012-07-21 116 views
1

我有一些像这种形式的文本文件中的一些数据按“|”分割字符串

| item_id |通道|等级|头| | body |来源|时间戳| link_1_id | link_1_manual/auto | link_1_name/title | link_2_id | link_2_manual/auto | link_2_name/title | ... |

我需要将它拆分为管道字符。但是,如果我这样做:

String[] cols = line.split("|"); 

它会拆分数据的每个字符是不是我想要的。我需要做什么来分割“|”?

+0

你实际上是通过与正则表达式空字符串分割。 – nhahtdh 2012-07-21 20:36:01

+1

您需要知道'split(String regex)'使用[regular expression](http://www.regular-expressions.info/tutorial.html)来查找要分割的位置和'|'在正则表达式中具有特殊含义(是OR运算符)。要关闭它的特殊含义,你需要在它之前使用\\。 – Pshemo 2012-07-21 20:40:31

回答

10

使用

line.split("\\|"); 

分割样式被解释为正则表达式,|在正则表达式有特殊的意义 - 它不解释为只是单纯的性格。

0

1.“|”在正则表达式中有特殊含义。

2.所以在“|”之前使用“\”去除它的特殊含义。

例子:

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