Используйте Reqular Expression, чтобы получить номер телефона из текстовых данных сайта в Android - PullRequest
1 голос
/ 31 марта 2012

Я должен сохранить текстовые данные сайта на карту памяти.После этого я хотел бы использовать регулярные выражения для получения номера телефона.

Я использую этот код для получения веб-сайта:

 public void onCreate(Bundle savedInstanceState) {
            super.onCreate(savedInstanceState);
            setContentView(R.layout.save);
    TextView saveText = (TextView) findViewById(R.id.save_text);
    String t = "";
    String urltext = "http://vnexpress.net/";
    try {
        t = get_source_html(urltext);
    } catch (Exception e) {
        e.toString();
    }
    saveText.setText(t);
}

public static String get_source_html(String urltext) throws IOException {
    URL url = new URL(urltext);
    BufferedReader in = new BufferedReader(new InputStreamReader(url.openStream()));
    String inputLine;
    String s = "";
    while ((inputLine = in.readLine()) != null) {
        s = s + inputLine;
    }
    s = s + "";
    in.close();
    return s;
}

Однако я не могу получить номер телефона стекстовые данные.Не могли бы вы помочь мне, пожалуйста?

1 Ответ

3 голосов
/ 31 марта 2012

Вы можете попробовать этот сайт для регулярного выражения

http://regexlib.com/Search.aspx?k=phone&AspxAutoDetectCookieSupport=1

Title   Test
Details
 International & Domestic Phone Numbers with Ext 
Expression  ^([\+][0-9]{1,3}([ \.\-])?)?([\(]{1}[0-9]{3}[\)])?([0-9A-Z \.\-]{1,32})((x|ext|extension)?[0-9]{1,4}?)$
Description Somewhat conservative expression for evaluating phone numbers. Based off ideas found at /98816/kompleksnoe-regulyarnoe-vyrazhenie-dlya-proverki-nomera-telefona this allows country codes, with or without the + symbol, area codes surrounded by parenthesis (or not) and numbers delimited by spaces, periods or dashes. You'll want to independently test for string length based on your needs.
Matches (123)456-7890 | (123)456-7890 x123 | +1 (123)456-7890 | 12 3456 789 0 x1234 | (123)456-7890x123 |(123)456-7890ext123 | (123)456-7890 extension123 | 123.456.7890 | 1234567890 | 1234567 | 12 34 56 78 90 | 12 3 4567 890123 x4567 | +12 3456 7890 | +12 34 56 7890 | +12 3456 7890 | +12 34567890
Non-Matches (123)456-7890 x 123 | 123.45.6.78+90
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...