2013-12-13 85 views
0

如何使用正則表達式從長字符串中提取電話號碼。這裏的電話號碼是一個簡單的10位數字,沒有格式,例如。 1234567890,0000000000從字符串中提取電話號碼

可能重複:Extracting phone number from string

但在這裏接受的答案,只是匹配的是數字(個位數,兩位數等。&不一定是10位數的電話號碼)

+0

[從字符串中提取電話號碼]的可能重複( http://stackoverflow.com/questions/7912779/extracting-phone-number-from-string) –

+0

@Chris錢伯斯:我已經寫過這個問題了,我還提到了爲什麼沒有答案解決問題 – user96546

+0

有沒有人能指出問題的哪一部分不清楚,以便我可以更好地構建它。我想這麼多的答案不會來,如果它被惡意框架 – user96546

回答

1

\\d{10}可用於僅10位

但移動沒有不啓動無線日零點左右,這樣做[1-9]\\d{9}

2

精確匹配10數字使用[0-9]{10}

1
List<String> list= new ArrayList<String>(); 
Matcher m=Pattern.complie("\\d{10}").matcher(input); 
while(m.find()) 
    list.add(m.group()); 
1

試試這個正則表達式匹配10位數字

[0-9]{10} 

enter image description here

String mob = "1234567890"; 
    if(mob.matches("[0-9]{10}")) 
     System.out.println("Valid"); 
    else 
     System.out.println("InValid"); 
1
 String mobileNo = "[0-9]"; 
    int counter=0; 
    Pattern pattern = Pattern.compile(mobileNo); 
    Matcher matcher = pattern.matcher(The String in which we have to find the number); 
    while(matcher.find()) 
{ 
System.out.println("STart index is "+matcher.start()); 
System.out.println("End index is "+matcher.end()); 
System.out.println(matcher.group); 
counter++; 
} 
if(counter==10) 
{ 
System.out.println("Mobile no. found"); 
counter=0; 
} 
+0

什麼與這些問題擱置的人,我有兩件事給你們 1.如果你不能理解一個問題,它並不意味着這個問題是無用的,如果你想知道這個問題只是看看答案,你會清楚的問題,我相信你一定是那麼聰明,MR PUTTING QUestions on HOLD 。 2.如果你認爲它太容易或類似的東西,這並不意味着你應該關閉這個話題,因爲一個問題是一個問題沒有別的,這個社區不僅僅是麻省理工學院或斯坦福。 – Khay