java中如何提取一个字符串中的电话号码?
比如:132******,186******、1001*。怎么能截取出这里的电话号码呢,又没有大神来指点一下啊?拜谢!...
比如:132******,186******、1001*。
怎么能截取出这里的电话号码呢,又没有大神来指点一下啊?拜谢! 展开
怎么能截取出这里的电话号码呢,又没有大神来指点一下啊?拜谢! 展开
提示该问答中所提及的号码未经验证,请注意甄别。
2个回答
展开全部
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
展开全部
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;
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询