2012-07-21 2 views
1

이 양식과 같은 txt 파일에 데이터가 있습니다."|"로 문자열 분할

| item_id | 채널 | 순위 | 머리 | 몸 | 소스 | 타임 스탬프 | link_1_id | link_1_ 수동/자동 | link_1_name/title | link_2_id | link_2_ 수동/자동 | link_2_name/title | ... |

파이프 라인 문자로 분할해야합니다. 그러나 내가하는 경우 :

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

그것은 내가 원하지 않는 모든 문자로 데이터를 분할합니다. "|"로 나누려면 무엇을해야합니까?

+0

당신은 실제로 정규식 빈 문자열로 분할합니다. – nhahtdh

+1

'split (String regex)'는 [정규식] (http://www.regular-expressions.info/tutorial.html)을 사용하여 분리 할 장소를 찾고 '|'는 정규식에서 특별한 의미를 가짐을 알아야합니다 OR 연산자입니다.) 특별한 의미를 없애려면 앞에 \\를 사용해야합니다. – Pshemo

답변

10

사용

line.split("\\|"); 

분할 패턴은 정규 표현식으로 해석되며, | 정규 표현식에서 특별한 의미를 가지고 - 그것은 혼자 그냥 문자로 해석 아니에요.

0

"|" 정규식에는 특별한 의미가 있습니다.

2. 그래서 "|"앞에 "\"를 사용하십시오. 특별한 의미를 없애기 위해서.

예 :

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