我需要從字符串中提取手機號碼,獲取手機號碼。我從字符串中提取數字,但沒有得到我需要的。識別與字符串
這裏是輸入:一個字符串包含的地址和電話號碼。
String input = "Street1,Punjab Market-Patiala 147001 M:92166-29903"
我需要提取手機號碼,這是92166-29903
。
我用這個方法來檢查字符串是否包含一個手機號碼或不:
private Boolean isMobileAvailable(String string)
{
Boolean ismobile = false;
if (string.matches("(?i).*M.*"))
{
ismobile = true;
}
return ismobile;
}
用來在代碼如下:
String mobilenumber="";
private void getMobileNumber(String sample)
{
int index = sample.indexOf("M");
String newString = "";
newString = sample.substring(index, sample.length());
mobileNumber = newString.replaceAll("[^0-9]", "");
edtMobile.setText(mobileNumber.substring(0, 10));
}
在這裏,而不是手機號碼,我獲得147009211
。
我怎樣才能正確地識別來自上面的字符串的手機號碼?
也許在這個崗位所提供的正則表達式是你在找什麼:http://stackoverflow.com/questions/8634139/phone-validation-regex –
你有至少調試應用程序?你知道什麼是錯的嗎? (提示:'sample.indexOf()'發現** **第一字符串的情況下...有一個爲尋找** **最後彼此功能) –
什麼類型做你的結果有諸如92166-29903?你在這裏提到。 – starkshang