gpt4 book ai didi

java - 如何使用 formatByPattern (libphonenumber.jar)?

转载 作者:行者123 更新时间:2023-11-30 10:48:14 24 4
gpt4 key购买 nike

我正在使用 Google 的 libphonenumber 库在 Java 应用程序中验证和格式化电话号码。

下面是我使用的代码:

String phoneNumberE164Format = "3365440901";
PhoneNumberUtil phoneUtil = PhoneNumberUtil.getInstance();
PhoneNumber phoneNumberProto = phoneUtil.parse(phoneNumberE164Format, "US");
phoneNumberE164Format = phoneUtil.formatByPattern(phoneNumberProto,
PhoneNumberFormat.INTERNATIONAL, ******);

方法签名如下:

public java.lang.String formatByPattern(PhoneNumber number,
PhoneNumberUtil.PhoneNumberFormat numberFormat,
java.util.List<NumberFormat> userDefinedFormats);

现在我不明白第三个参数应该输入什么。

我希望格式如下:

+1.410.218.9999 OR
+1-210-125-9999

最佳答案

Milind Gokhale 的上述评论为我找到解决方案提供了很好的线索。

下面的代码将任何有效的电话号码格式化为此问题中指定的格式:

NumberFormat newNumFormat = new NumberFormat();
newNumFormat.pattern = "(\\d{3})(\\d{3})(\\d{4})";
newNumFormat.format = "$1-$2-$3";

List<NumberFormat> newNumberFormats = new ArrayList<NumberFormat>();
newNumberFormats.add(newNumFormat);

String formatted = phoneUtil.format(phoneNumberProto, PhoneNumberFormat.RFC3966).substring(4);

关于java - 如何使用 formatByPattern (libphonenumber.jar)?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35886127/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com