1

テキスト行は次のとおりです。

003 STATE BANK OF BIK & JAI A/C.1 2 1,01,500.00 1 3,160.00 98,340.00+

これを分割するコードスニペットは次のとおりです。

Pattern pat = Pattern.compile("[ ]");
String strs[] = pat.split(s);
for (int i = 0; i < strs.length; i++) {
    System.out.println("Next Token = " + strs[i]);
}

ここに私が得るものがあります:

003,STATE,BANK,OF,BIK,*,JAI...etc.

私が本当に欲しいのは:

003,STATE BANK OF BIK & JAI,A/C.1,2.1,01,500.00...etc

これを達成するためにどのパターンまたはメタキャラクターを使用しますか?

4

1 に答える 1

0

あなたの場合、この分割呼び出しは機能します:

String data = "003 STATE BANK OF BIK & JAI A/C.1 2 1,01,500.00 1 3,160.00 98,340.00+";
String[] arr = data.split(" +(?=\\S*\\d)|(?<![A-Z&]) +");
System.out.println(Arrays.toString(arr));

出力:

[003, STATE BANK OF BIK & JAI, A/C.1, 2, 1,01,500.00, 1, 3,160.00, 98,340.00+]
于 2013-10-13T05:55:34.407 に答える