从字符串中提取电话号码?

时间:2018-06-08 13:34:41

标签: java android

我有一个字符串。我只需从中提取数字。我举个例子:

Hi nandu 4years old baby with him and his age 55 phone number +1(916)-245-8976

我想要+1(916)-245-8976

我试过下面的代码

String s = " Hi nandu 4years old baby with him and his age 55 phone number +1(916)-245-8976 ";
String s1 = s.replaceAll("[^0-9]+", ""); 

有没有提取数字的方法?

2 个答案:

答案 0 :(得分:1)

此RegEx将完全搜索手机模式

"\+\d\(\d{3}\)-\d{3}\-\d{4}"

答案 1 :(得分:0)

正如Clement建议您可以使用正则表达式来提取电话号码,但不会匹配不符合给定格式的其他电话号码。

    String s=" Hi nandu 4years old baby with him and his age 55 phone number +1(916)-245-8976 ";

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

您可以针对不同的需求使用不同的模式,例如"\\d{3}-\\d{3}-\\d{4}"等。