То, как я могу заполнить спор с, обнуляет использование функции формата шепелявости?

Обычно это делается либо с помощью регулярного выражения, либо с помощью indexOf и substring.

С помощью регулярного выражения это можно сделать так:

    // This is using a VERY simplified regular expression
    String str = "internet address : http://test.com Click this!";
    Pattern pattern = Pattern.compile("[http:|https:]+\\/\\/[\\w.]*");
    Matcher matcher = pattern.matcher(str);
    if (matcher.find()) {
        System.out.println(matcher.group(0));
    }

Вы можете прочитать здесь, почему это упрощено: https://mathiasbynens.be/demo/url-regex [114 ] - tl; dr: проблема с URL заключается в том, что они могут иметь так много разных шаблонов, которые являются действительными.

С помощью split можно было бы использовать класс URL Java:

   String[] split = str.split(" ");

    for (String value : split) {
        try {
            URL uri = new URL(value);
            System.out.println(value);
        } catch (MalformedURLException e) {
            // no valid url
        }
    }

Вы можете проверить их валидацию в источнике OpenJDK здесь .

5
задан GEOCHET 29 December 2008 в 14:10
поделиться