我有一个电话号码,以 +12125551212
格式存储为字符串 String。使用 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 开发者布道者。
您可以使用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());
}
}
希望这对您有帮助!
关于java - 使用 Twilio SDK 将电话号码 "+2125551212"转换为格式 "(212) 555-1212",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41578868/