1

「@WWP2-@ POLUXDATAWWP3-TTTTTW @ K826」のような文字列を分割して、スニペットの実行時に@ WWP2-@POLUXDATAWWP3-TTTTTWと826文字列を抽出しようとしています。

String expression = "@WWP2-@POLUXDATAWWP3-TTTTTW@K826";
        StringTokenizer tokenizer = new StringTokenizer(expression, "@K");
            if (tokenizer.countTokens() > 0) {
                while (tokenizer.hasMoreTokens()) {
                    System.out.println(tokenizer.nextToken());
                }
            }

結果が

WWP2-POLUXDATAWWP3-TTTTTW
826

私が得ている:

WWP2-
POLUXDATAWWP3-TTTTTW
826

正確な2つの文字列を取得する方法について何かアイデアはありますか?

4

3 に答える 3

4
    String[] str = expression.split("@K");
    System.out.println(Arrays.toString(str));

String#split( "@ K");を試してください。

出力:

[@WWP2-@POLUXDATAWWP3-TTTTTW, 826]
于 2013-02-21T16:17:50.603 に答える
0
String expression = "@WWP2-@POLUXDATAWWP3-TTTTTW@K826";

String [] strArr = expression.split("@K");

for( int i = 0; i < strArr.length; i++ ) {
    System.out.println( strArr[i] );
}

StringTokenizer、区切り文字列内のすべての単一文字、つまりon@ K。で文字列を分割します。

StringTokenizerが非推奨になる理由も参照してください。。

于 2013-02-21T16:20:10.913 に答える
0

StringTokenizer複数の文字が含まれている場合は、指定された区切り文字パラメーターを文字のセットとして使用します。あなたの場合、それはあなたの文字列を@とによって分割しますがK、必ずしも後Kに続く必要はありません@

于 2013-02-21T16:24:27.987 に答える