私は文字列を持っています:
2|ホームエレクトロニクス| |0|0| | | | | | | |0| | |
|
上記の文字列で で区切られたすべてのトークンを区切りたいと思います。
でトークン化しようとしましStringTokenizer
たが、スペースをトークンと見なしません。
また、試してみsplit("|")
ましたが、上記の文字列の各文字が返された文字列配列の要素として与えられます。
私は何をすべきか?
私は文字列を持っています:
2|ホームエレクトロニクス| |0|0| | | | | | | |0| | |
|
上記の文字列で で区切られたすべてのトークンを区切りたいと思います。
でトークン化しようとしましStringTokenizer
たが、スペースをトークンと見なしません。
また、試してみsplit("|")
ましたが、上記の文字列の各文字が返された文字列配列の要素として与えられます。
私は何をすべきか?
試す
string.split("\\|");
|
は特殊文字であり、エスケープ文字でエスケープする必要があります\
。Java では\
のように記述し\\
ます。
これは、String#split()が正規表現をパラメーターとして受け取るためです。
正規表現では、、、などの特殊.
文字をエスケープする必要があります。そうしないと、Java は実際に特別な char を使用していると見なします (たとえば、手段OR )。|
(
|
StringTokenizer の代わりに Scanner を試す
Scanner sc = new Scanner(str);
sc.useDelimiter("\\|");
while(sc.hasNext()) {
String e = sc.next();
}