2016-04-19 13 views
1

'|'を使用して文字列を分割しようとしています。この操作を完了できません。分割文字列が(|)演算子で正しく機能しない

出力が間違っています。

私は、コードの下に使用しています:

public static void main(String[] args) { 
     String str = "C|9374052566|TFNAME|TLNAME|01-10-1988|[email protected]|234897238794"; 
     String array[] = str.split("|"); 

     for (String str_ : array) { 
      System.out.println(str_); 
     } 


    } 
} 

//Produce output 
     C 
     | 
     9 
     3 
     7 
     4 
     0 
     5 
     2 
     5 
     6 
     6 
     | 
     T 
     F 
     N 
     A 
     M 
     E 
     | 
     T 
     L 
     N 
     A 
     M 
     E 
     | 
     0 
     1 
     - 
     1 
     0 
     - 
     1 
     9 
     8 
     8 
     | 
     t 
     e 
     s 
     t 
     @ 
     g 
     m 
     a 
     i 
     l 
     . 
     c 
     o 
     m 
     | 
     2 
     3 
     4 
     8 
     9 
     7 
     2 
     3 
     8 
     7 
     9 
     4 

     //Expected output 
     C 
     9374052566 
     TFNAME 
     TLNAME 
     01-10-1988 
     [email protected] 
     234897238794 

は、プログラムの何が問題になっているのですか?

答えて

1

分割方法は、正規表現を受け取り、|は、正規表現でOR演算子として使用される文字を、予約されています。

\\|を使用してエスケープします。

関連する問題