Для этого метода ниже я могу найти http:// и www в тексте, и я могу создать на его основе ссылку html, но в этом методе я могу разделить текст только с помощью \n, и я хочу разделить с \n с пробелом, как использовать регулярное выражение для этого действия?

public static Spanned Htmlparser(String text) {
        String[] tokens = text.split("\n");
        StringBuilder sbStr = new StringBuilder();
        for (int i = 0; i < tokens.length; i++) {
            if ((tokens[i]).contains("www.")) {
                String link = " <a href=\"http://" + tokens[i] + "\">" + tokens[i] + "</a> ";
                sbStr.append(link);
            } else if ((tokens[i]).contains("http://")) {
                String link = " <a href=\"" + tokens[i] + "\">" + tokens[i] + "</a> ";
                sbStr.append(link);
            } else {
                sbStr.append(tokens[i] + " ");
            }
        }
        return Html.fromHtml(sbStr.toString());
    }

У Java или Android есть какой-либо класс для выполнения этого действия без использования моего метода?

1
DolDurma 4 Мар 2015 в 10:27

2 ответа

Лучший ответ

Если вы хотите разделить строку на символы новой строки \ n и пробел \ s, вы можете использовать класс символов в регулярных выражениях. См. Следующий код.

 String[] tokens = text.split("[\\n\\s]");
3
Jagadish G 4 Мар 2015 в 07:44

Вы можете использовать Pattern:

Pattern.matches( regex, string );

Он вернет логическое значение.

-1
Leon 4 Мар 2015 в 07:33