java中如何提取一个字符串中的电话号码?

比如:132******,186******、1001*。怎么能截取出这里的电话号码呢,又没有大神来指点一下啊?拜谢!... 比如:132******,186******、1001*。
怎么能截取出这里的电话号码呢,又没有大神来指点一下啊?拜谢!
展开
 我来答
该问答中所提及的号码未经验证,请注意甄别。
308xiaobao
高粉答主

2017-07-19 · 每个回答都超有意思的
知道大有可为答主
回答量:2.6万
采纳率:95%
帮助的人:2729万
展开全部

java中如何提取一个字符串中的电话号码,先写出手机号码和固定号码的正则表达式,然后创建模式,获取到匹配器,从而刷选出符合要求的电话号码,如下:

import java.util.regex.Matcher;
import java.util.regex.Pattern;



public class TestC {

public static void main(String[] args){
//要提前号码的字符串
String str="n13977777777s18911111111你好15988888888hha0955-7777777sss0775-6678111";
//提取手机号码
checkCellphone(str);
//提取固定电话号码
checkTelephone(str);
}

/**
 * 查询符合的手机号码
 * @param str
 */
public static void checkCellphone(String str){
        // 将给定的正则表达式编译到模式中
Pattern pattern = Pattern.compile("((13[0-9])|(14[5|7])|(15([0-3]|[5-9]))|(18[0,5-9]))\\d{8}");
// 创建匹配给定输入与此模式的匹配器。
Matcher matcher = pattern.matcher(str);
//查找字符串中是否有符合的子字符串
while(matcher.find()){
        //查找到符合的即输出
System.out.println("查询到一个符合的手机号码:"+matcher.group());
}
}

/**
 * 查询符合的固定电话
 * @param str
 */
public static void checkTelephone(String str){
 // 将给定的正则表达式编译到模式中
Pattern pattern = Pattern.compile("(0\\d{2}-\\d{8}(-\\d{1,4})?)|(0\\d{3}-\\d{7,8}(-\\d{1,4})?)");
// 创建匹配给定输入与此模式的匹配器。
Matcher matcher = pattern.matcher(str);
//查找字符串中是否有符合的子字符串
while(matcher.find()){
         //查找到符合的即输出
System.out.println("查询到一个符合的固定号码:"+matcher.group());
}
}

结果:
查询到一个符合的手机号码:13977777777
查询到一个符合的手机号码:18911111111
查询到一个符合的手机号码:15988888888
查询到一个符合的固定号码:0955-7777777
查询到一个符合的固定号码:0775-6678111
神秘baidu网友
2015-10-16 · 超过34用户采纳过TA的回答
知道答主
回答量:139
采纳率:0%
帮助的人:42.4万
展开全部
public String getNum(String str){
    String str2="";
    str=str.trim();
    if(str != null && !"".equals(str)){
        for(int i=0;i<str.length();i++){
            if(str.charAt(i)>=48 && str.charAt(i)<=57){
                str2+=str.charAt(i);
            }
        }
    }
    return str2;
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式