Для этого метода ниже я могу найти 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 есть какой-либо класс для выполнения этого действия без использования моего метода?
2 ответа
Если вы хотите разделить строку на символы новой строки \ n и пробел \ s, вы можете использовать класс символов в регулярных выражениях. См. Следующий код.
String[] tokens = text.split("[\\n\\s]");
Вы можете использовать Pattern:
Pattern.matches( regex, string );
Он вернет логическое значение.
Похожие вопросы
Связанные вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.