从 String 中删除带有文本的 Span 标签

Remove Span tag with text from String

我有一个字符串如下:

<span class="exam-dates-title">Exam</span>Welcome

如何从 Android 中的上述字符串中完全删除 <div> 开始和 </div> 结束标记?

I need to display Welcome only

以下正则表达式将匹配一个跨度标签,包括它的属性、内容和结束标签。

<span.*>.*</span>

对您的字符串执行 find/replace(请参阅以下 https://developer.android.com/reference/java/util/regex/package-summary)并将匹配项替换为“”。

您可能需要查看 "non-greedy" 选项。

也许这会对你有所帮助:

String yourString = "<span class=\"exam-dates-title\">Exam</span>Welcome";
int index = yourString.lastIndexOf(">");

String result = yourString.substring(index + 1, yourString.length());

如果要保留 <div></div> 之间的文本,请替换前导标记的所有 <[\w\s\d\=\-"]+> 和结束标记的 </[\w\s\d\=\-"]+>

它将替换标签内的零个或多个 \w 个单词、\s 个空格、\d 个数字。如果需要,在 [ ] 内添加任何其他符号。

如果要删除标签<div> </div>和里面的文字,使用Pattern and Matcher,找到<div></div>的索引并替换它。我认为这是一种更安全的方法。如果您的字符串中有 < 或 > 但它不是标记,则使用 indexOf(">")indexOf("<") 可能是错误的。