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

String正则扣取指定的内容?
比如在一长串的字符串里扣取手机号码。

原字符串:
“周小姐    13469066540            2房  
杨小姐    18932402999            1房  
黄先生    13187081211            1房  
杨洁   18674880422            1房  
吴姐   15073121000            商业  
雷先生    15111469940            2房  
林小姐    13308450308            3房  
谭先生    18684714528            1房  
X小姐    15211022215            1房  
赵先生    13677349938            1房  
宁先生    18627570081            1房  
朱小姐    15974181060            1房  
罗小姐    18613962700            1房  
唐小姐    15873126191            1房 ”

如何只扣取里面的号码,如有多个号码,则用数组保存?
------解决方案--------------------
1[3458]{1}\d{9}
------解决方案--------------------
java初学者 前几天刚教了几个String 方法
           String str="周小姐  13469066540  2房 ";
   String result=str.replaceAll("\\d{11}", " ");
   System.out.println(result);//周小姐  2房
------解决方案--------------------
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Hello {
    public static void match(String str) {
        Pattern pattern = Pattern.compile("\\d{11}");
        Matcher matcher = pattern.matcher(str);

        while (matcher.find()) {
            System.out.println(matcher.group(0));
        }
    }
    public static void main(String[] args) {
        String str = "周小姐   \t13469066540           \t2房";
        match(str);
    }
}