gpt4 book ai didi

java - 如何使用正则表达式提取字符串的电话号码?

转载 作者:搜寻专家 更新时间:2023-11-01 03:58:47 25 4
gpt4 key购买 nike

如果我有一个包含以下内容的字符串:This is 1 test 123-456-7890
我需要提取 1234567890 作为电话号码。我不想提取测试前的数字 1。
我如何在 Java 中使用正则表达式来做到这一点?

我知道一个方法,但我不确定它是否是最好的解决方案:

String inputString = "This is 1 test 123-456-7890";
string result = inputString.replaceAll("(\\d{3})-(\\d{3})-(\\d{4})","");
String phoneNumber = inputString.replace(result, "");

最佳答案

最好的标准方法是使用 libphonenumber .有一个 findNumbers你可以使用的功能。这是一个代码片段

public static void  extractPhoneNumber(String input){


Iterator<PhoneNumberMatch> existsPhone=PhoneNumberUtil.getInstance().findNumbers(input, "IN").iterator();

while (existsPhone.hasNext()){
System.out.println("Phone == " + existsPhone.next().number());
}
}

关于java - 如何使用正则表达式提取字符串的电话号码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9464323/

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