日期:2014-05-20  浏览次数:20854 次

如何从指定的字符串中提取手机号码、电话或者电子邮箱地址?
比如有以下字符串:“姓名:李晓磊,性别:男,手机:15896708944,电话:02586598789,电子邮箱:lixiao_lei@126.com”。要提取其中的手机号、电话和电子邮箱,用java如何实现,是否只能用正则表达式实现?

------解决方案--------------------
不啊,每个字段不都是用,隔开的吗,可以用字符串的split方法,指定分隔符为,,则返回各个字段组成的字符串数组,然后手机的索引是3,对第二个再用:来分割,取索引为1的就是手机号码了,其他的类似。
不会的话QQ373048914问我
------解决方案--------------------
用正则表达式是最简单的.
举个电话号码的简单的例子:
import java.io.*;
public class Test4 {
public static void main(String[] args)throws IOException {
mainMenu();
}
public static void mainMenu()throws IOException{
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
String phoneFormat = "[0-9]{4}-[0-9]{8}";
System.out.println("请输入座机电话号码:");
String userInput = br.readLine();
if(userInput.matches(phoneFormat)){
System.out.println("输入正确,您输入的电话号码是:");
System.out.println(userInput);
}
else{
System.out.println("输入错误,请重新输入!");
mainMenu();
}
}

}
电话和电子邮箱等请楼主自己参考正则表达式!