1

2つの列の値を連結し、次のように文字列を返すクエリがあります。

423545(50),7568787(50),53654656,2021947(50),

ここで、括弧内の値なしで個々の数値を処理する必要があります。別のクエリを再実行して値を取得することもできますが、別のデータベース呼び出しを行うよりも、既存の文字列を分割する方が効率的だと思います。

上記の文字列を分割して角かっこ内の値を削除するにはどうすればよいですか?数値をArrayListに格納したいと思います。arrayListには、423545,7568787,53654656,2021947(コンマなし)が含まれます。

すべての列に括弧で囲まれた値があるわけではないことに注意してください-3番目の列を参照してください文字列の最後にコンマが含まれている可能性があります。

String.split()カンマだけの場合は使用して分割できますが、上記の形式には正規表現が必要だと思います。

4

3 に答える 3

5
String[] list = str.split("(\\(\\d+\\))?,");

このデモを参照してください。

于 2012-11-26T13:29:24.237 に答える
1

最初に正規表現を使用してすべての括弧とその値を削除してから、結果で文字列を分割します。

于 2012-11-26T13:29:21.243 に答える
1

String.replaceAll(regex、replacement)を使用して、括弧で囲まれた数字のすべての出現箇所を検索し、それらを ""に置き換えてから、分割します。

于 2012-11-26T13:32:01.097 に答える