ビクター・マーティン:
私は、「[」111" 、 『232』 ...]」のように文字列化された配列でフォーマットされたサービスにおけるIDのリストを取得しています。
私が使用しています:
ArrayList<String> ids = new ArrayList<String>(Arrays.asList(strListIds.split("[,\\s]+")));
これは、文字列の最初の[と最後]を削除しませんでした。私は手動でこの文字を削除することができますが、私はこれを行うには正しい方法があるかどうかを知るために、これを求めています。
感謝
YCF_L:
あなたが探しています:
List<String> ids = new ArrayList<>(
Arrays.asList(
strListIds.substring(1, strListIds.length() - 1).split(",\\s")
)
);// ["412","122"]
あなたが維持しない場合""
、あなたは、分割前にそれらを交換する必要があります。
.replace("\"", "")
しかし、より良い私が使用します。
ObjectMapper mapper = new ObjectMapper();
String[] arr = mapper.readValue(strListIds, String[].class);
List<String> ids = new ArrayList<>(Arrays.asList(arr));// [412,122]
ボーナスソリューション、正規表現を使用しました:
List<String> ids = Pattern.compile("\"(.*?)\"")
.matcher(strListIds)
.results()
.map(m -> m.group(1))
.collect(Collectors.toList());