由于查询远程XML Feed,我收到了一个HTML字符串。我使用结果将文本设置为TextView
。问题是字符串包含TextView
元素不支持的HTML注释标记。
现在,我需要一种方法来通过指示要删除的部分来删除(substring)结果字符串。我不能通过开始和结束位置工作,但我必须使用开始和结束字符串模式(<!--
作为开始,-->
作为结束)。
我该怎么做?
答案 0 :(得分:1)
也许使用这个:
String str = "your html string";
int start = str.indexOf("<!--");
int end = str.indexOf("-->");
str = str.replace(str.substring(start, (end - start)), "");
答案 1 :(得分:1)
我在这里找到了这个。我相信,因为android是一个标签,所以答案是相关的。
android.text.Html.fromHtml(instruction).toString()
答案 2 :(得分:1)
您可以使用正则表达式,例如
String input = "<!-- \nto be removed -->hello <!-- to be removed-->world";
Pattern pattern = Pattern.compile("<!--.*?-->", Pattern.DOTALL | Pattern.UNICODE_CASE | Pattern.MULTILINE);
Matcher matcher = pattern.matcher(input);
StringBuilder builder = new StringBuilder();
int lastIndex = 0;
while (matcher.find()) {
builder.append(input.substring(lastIndex, matcher.start()));
lastIndex = matcher.end();
}
builder.append(input.substring(lastIndex));
System.out.println(builder);
答案 3 :(得分:0)
您也可以使用HTML.fromHTML
答案 4 :(得分:0)
您可以使用Html.fromHtml()
方法在TextView
中使用html格式的文字,例如:
CharSequence text = Html.fromHtml("before <!--comment--><b>after</b>");
myTextView.setText(text);
TextView现在将文本“在之后”之前。