2017-07-18 26 views
0

文字列があり、 "|"で分割して配列に変換する必要があります。
分割は他の文字では機能しますが、 "|"文字列を使用したJava文字列の分割|

String stringVar = "string1|string2|string3"; 
String[] stringAryVar = stringVar.split("|"); 

私はとして取得しています:

0 => s 
1 => t 
2 => r 
3 => i 
4 => n 
5 => g 
6 => 1 

しかし

0 => string1 
1 => string2 
2 => string3 

は親切に私を助けて私が必要とします。

+1

https://stackoverflow.com/search?q=java+split+pipe –

答えて

1

|文字は特別な使い方があるため、エスケープする必要があります。 Javaでは、あなたは二重の\\ウィキペディアからの引用

String[] stringAryVar = stringVar.split("\\|"); 

で脱出:正規表現の構文で

、垂直バーは、再び論理的か(交替)を示します。たとえば、Unixのコマンドgrep -E 'fu | bar'は 'fu'または 'bar'を含む行に一致します。

+0

私の答えに何が間違っているのか敢えて説明してください。 –