我正在尝试将以前 E164 格式的电话号码格式化为没有国家前缀号码的国家格式,我正在使用 PhoneNumberUtils 来做到这一点:
public static String getNationalPhone(String phoneE164Formatted) {
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
String phoneNumber = phoneE164Formatted;
try {
Phonenumber.PhoneNumber numberProto = phoneUtil.parseAndKeepRawInput(phoneE164Formatted, "");
phoneNumber = phoneUtil.format(numberProto, PhoneNumberUtil.PhoneNumberFormat.NATIONAL);
} catch (NumberParseException e) {
e.printStackTrace();
}
return phoneNumber;
}
使用该代码,我得到了我不想要的国家前缀。例如,将这个数字“+526143342293”格式化为国家格式给了我这个结果:“01 614 334 22 93”,其中“01”是我想要抑制的。