Java の割り当ての一環として、特定の市外局番を持つすべてのレコードを選択する必要があります。ArrayList
のような内にカスタム オブジェクトがありますArrayList<Foo>
。
各オブジェクトには String phoneNumber 変数があります。「(555) 555-5555」のような形式になっています。
私の目標は、ArrayList<Foo>
( と呼びますlistOfFoos
) 内の各カスタム オブジェクトを検索し、市外局番「616」のオブジェクトを 内に配置することtemporaryListOfFoos
ArrayList<Foo>
です。
トークナイザーを調べましたが、正しい構文を取得できませんでした。私がしなければならないことはこの投稿に似ているように感じますが、最初の 3 桁のみを取得しようとしている (そして残りの 7 桁は気にしない) ため、これは実際には正確な結果をもたらしませんでした。探していました。文字列トークナイザーで括弧を無視しますか?
私が一時的な回避策として行ったのは...
for (int i = 0; i<listOfFoos.size();i++){
if (listOfFoos.get(i).getPhoneNumber().contains("616")){
tempListOfFoos.add(listOfFoos.get(i));
}
}
これは現在のデータセットでは機能しましたが、電話番号のどこかに 616 が含まれていた場合 (「(555) 616-5555」など)、明らかに適切に機能しません。
かっこを無視して最初の 3 桁だけを取得する方法についてアドバイスをいただければ幸いです。