您的位置:首页 > 编程语言 > Java开发

java正则表达式的应用——去掉固定电话号码前面的区号

2012-11-02 21:52 357 查看
class Test002 {

public static void main(String[] arguments) {

String src = new String("ab43a2c43d");

System.out.println(src.replace("3", "f")); //=>ab4fa2c4fd.

System.out.println(src.replaceAll("\\d", "f")); //=>abffafcffd.

System.out.println(src.replaceAll("a", "f")); //=>fb43f2c43d.

System.out.println(src.replaceFirst("4", "h")); //=>abh3a2c43d.

System.out.println(src.replaceFirst("\\d", "f")); //=>abf3a2c43d

String num = new String("076938816888");

System.out.println(num);

// 00853,00886,00852 not treated

String regex1 = "^010";

String regex2 = "^02[0-9]{8,9}"; //0207777777, 02988888888

String regex3 = "^0[3-9][0-9]{9,10}"; //03947777777, 076912345678

String regex1f = "010";

String regex2f = "02[0-9]"; //020,021,022,023,024,025,027,028,029

String regex3f = "0[3-9][0-9]{2}"; //0310,0769,0755,0999,...

if (10 <= num.length() && num.length() <= 12) {

if (num.matches(regex1)) {

num = num.replaceFirst(regex1f, "");

} else if (num.matches(regex2)) {

num = num.replaceFirst(regex2f, "");

} else if (num.matches(regex3)) {

num = num.replaceFirst(regex3f, "");

}

}

System.out.println(num);

}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: