2012-07-21 115 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("\\|");