1

私は文字列を持っています:

2|ホームエレクトロニクス| |0|0| | | | | | | |0| | |

|上記の文字列で で区切られたすべてのトークンを区切りたいと思います。

でトークン化しようとしましStringTokenizerたが、スペースをトークンと見なしません。

また、試してみsplit("|")ましたが、上記の文字列の各文字が返された文字列配列の要素として与えられます。

私は何をすべきか?

4

2 に答える 2

8

試す

string.split("\\|");

|は特殊文字であり、エスケープ文字でエスケープする必要があります\。Java では\のように記述し\\ます。

これは、String#split()正規表現をパラメーターとして受け取るためです。

正規表現では、、、などの特殊.文字をエスケープする必要があります。そうしないと、Java は実際に特別な char を使用していると見なします (たとえば、手段OR )。|(|

于 2013-06-17T13:04:43.057 に答える
0

StringTokenizer の代わりに Scanner を試す

    Scanner sc = new Scanner(str);
    sc.useDelimiter("\\|");
    while(sc.hasNext()) {
        String e = sc.next();
    }
于 2013-06-17T13:40:32.113 に答える