加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Java > 正文

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

发布时间:2020-12-15 02:03:57 所属栏目:Java 来源:网络整理
导读:如果我有一个包含以下内容的字符串:这是1测试123-456-7890 我需要提取1234567890作为电话号码.我不想提取测试前的数字1. 如何在 java中使用正则表达式? 我知道一种方法,但我不确定它是否是最好的解决方案: String inputString = "This is 1 test 123-456-
如果我有一个包含以下内容的字符串:这是1测试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,"");

解决方法

以下代码将检查您提及的字符串中的电话号码并打印出来:

String str = "This is 1 test 123-456-7890";

Pattern pattern = Pattern.compile("d{3}-d{3}-d{4}");
Matcher matcher = pattern.matcher(str);
if (matcher.find()) {
    System.out.println(matcher.group(0));
}

但是,正如其他答案所指出的那样,许多电话号码(特别是国际电话号码)与该模式不符.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读