【问题标题】:Convert phone number "+2125551212" to format "(212) 555-1212" using Twilio SDK使用 Twilio SDK 将电话号码“+2125551212”转换为格式“(212) 555-1212”
【发布时间】:2017-01-10 21:36:56
【问题描述】:

我有一个以+12125551212 格式存储为字符串的电话号码。使用 Twilio SDK(如果可能),我想将该电话号码转换为更友好的 (212) 555-1212 格式的字符串。

这是使用com.google.i18n.phonenumbers 的方法

String phoneNumber = "+12125551212";
try {
  Phonenumber.PhoneNumber parsedPhoneNumber = phoneUtil.parse(phoneNumber, "US");
  phoneNumber = phoneUtil.format(parsedPhoneNumber, PhoneNumberUtil.PhoneNumberFormat.NATIONAL);
} catch (NumberParseException e) {
  logger.error("Error parsing phone number {}", phoneNumber);
}

Twilio SDK 中有类似的东西吗?

(如果存在,我希望有一个非正则表达式、非字符串操作的 Twilio 特定答案。)

【问题讨论】:

  • 您有问题吗?这是一件非常琐碎的事情……你读过 Twilio 的 API 吗?如果它不存在,只需编写一些代码即可。大概是 2-3 行。
  • 我的问题是它可以用 Twilio SDK 完成,而不是如何使用 Java 解析字符串。
  • @ChristopherSchneider 为了清楚起见,我已经更新了问题。

标签: java sms twilio


【解决方案1】:

这里是 Twilio 开发者宣传员。

您可以使用Twilio's Lookup API 来实现这一点以及更多其他功能。您将找到 API 文档here

这是一个完整的工作示例,说明如何使用 API 格式化电话号码。

import java.util.HashMap;
import java.util.Map;

import com.twilio.Twilio;
import com.twilio.rest.lookups.v1.PhoneNumber;

public class Lookup {
  // Find your Account Sid and Token at twilio.com/user/account
  public static final String ACCOUNT_SID = "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX";
  public static final String AUTH_TOKEN = "your_auth_token";

  public static void main(String[] args) {
    Twilio.init(ACCOUNT_SID, AUTH_TOKEN);

    PhoneNumber number = PhoneNumber
        .fetcher(new com.twilio.type.PhoneNumber("+15108675309"))
        .setType("carrier")
        .fetch();

    System.out.println(number.getNationalFormat());
  }
}

希望对您有所帮助!

【讨论】:

  • 这是我一直在寻找的,但是这是一个“运营商”查找,每次通话费用为 0.005 美元,还是免费的“格式”查找,Marcos?
  • 如果你没有在类型上指定任何东西(通过完全删除.setType)它默认为null,因此是免费的。 ?
【解决方案2】:

https://twilio.github.io/twilio-java/

转到 PhoneNumber,它有一个名为 Get National Format 的方法,还可以查看可能是您正在寻找的 PhoneNumber.Type。

否则我只会使用字符串索引+解析,并创建一个转换nationalToUS或USToNational等的实用函数。

【讨论】:

    猜你喜欢
    • 2022-01-05
    • 2016-04-05
    • 2013-03-19
    • 2013-11-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-08-29
    • 1970-01-01
    相关资源
    最近更新 更多