電話番号から +1 (国コード) を削除しようとしています (正規化プロジェクトに取り組んでいます)。たとえば、ユーザーが +1(703)-555-5787 の形式の電話番号を持っていて、それを (703)-555-5787 (先頭に +1 を付けない) にしたいとします。
私の理論は、正規表現パターンに基づいて phoneNum 文字列を検索できるというものです。見つかったら、印刷したり、好きなことをしたりできます。私のコードは以下の通りです:
public static String normalizePrefix(final String phoneNum) {
String ret = phoneNum;
if (!phoneNum.contains("+1")) {
logger.log(Level.INFO, "input phone number doesn't contain country code (+1)");
}
else {
String regex = "(\\+1)([2-9][0-9][0-9])-([2-9][0-9]{2})-([0-9]{4})";
Pattern p = Pattern.compile(regex);
Matcher m = p.matcher(phoneNum);
if (phoneNum.matches(regex)){
ret = m.group().substring(2, m.end());
}
}
logger.log(Level.INFO, phoneNum + "-->" + ret);
return ret;
}
私は何が欠けていますか?