電話番号の形式が問題になる状況で電話番号を照合する最良の方法は何ですか?android SDKの2つの形式の電話番号を照合する最良の方法は何ですか?
私はこれを行うための標準的な豊富なベストプラクティスの方法を探しています。私はユーザーに電話番号を入力し、SQLite DBに保存します。後である時点で、電話がかかってくると、ITelephonyを介して着信番号を取得します。私はdb内の値とincomingNumberを一致させてアクションを取らなければなりません。これらの番号の形式は大きく異なり、問題を引き起こす可能性があります。
この問題を回避するために、正規表現を使用して書式設定文字を削除し、数字だけを残して適切な一致を得ます。これはうまくいきましたが、誰かがもっと良い方法を持っているかどうか、またはAndroidに2つの電話番号を一致させるAPIメソッドがあるかどうかを知りたかったのです。ご関心のため
おかげ
編集:私は使用していたコードは次のとおりです。各文字の上に
private boolean matchPhoneNumbers(String numberA, String numberB)
{
//Remove everything that's not a number
numberA=numberA.replaceAll("[^0-9]", "");
numberB=numberB.replaceAll("[^0-9]", "");
//Get the minimum length of one of the strings
int length=Math.min(numberA.length(),numberB.length());
numberA=numberA.substring((numberA.length()-length));
numberB=numberB.substring((numberB.length()-length));
//check the difference
return numberA.equals(numberB);
}
ありがとうございました。私はちょうど私のコードを貼り付けた。同じロジックを使用していますが、10文字をマッチングさせる代わりに、2つの最小値を一致させています。これは、私の地域では、固定電話番号である電話番号にはたったの7文字しか残さないことに気付きました。同様のアプリケーションは、世界中のある地域で有効です。 – kishu27
コードはかなり良いです。 Im古い学校のCプログラマなので、charを考えていますが、よりエレガントに見えるregexpを使用しています:) – ziq
*握手する*私はCとC++でSO LO IN LOVEでした。 – kishu27