2017-05-02 8 views
0
String line = "First string March 8, # 2017: Boris#|#Second string"; 
String[] list = line.split("#|#"); 

私はlist[0] = "First string March 8, # 2017: Boris"どのように区切られた文字列と文字列を分割する「#|#」

list[1] = "Second string" 

を期待していた。しかし、予想通り、私は結果を取得しておりません。複数の文字列に分割されます。私は分割機能で何をする必要がありますか?

答えて

2
String[] list = line.split("#\\|#"); 

split()メソッドの(first)パラメータには正規表現が含まれている必要があります。 |は特殊文字であるため、\でそれをエスケープして文字通り正規表現で表現する必要があります。

0

あなたはパイプをエスケープする必要があります。#\\|#

例:

String line = "First string March 8, # 2017: Boris#|#Second string"; 
String[] list = line.split("#\\|#"); 
System.out.println(Arrays.toString(list)); 
0

split()方法は、通常の文字列を期待していますが、regular expressionsしません。あなたはエスケープする必要があります | char;だから:

split("#\\|#"); 
関連する問題