如何从Java中的StringBuilder中删除
标签?
答
一种方法是使用indexOf()
来定位标签,并delete()
将其移除。
请参阅documentation。
为了有效地做到这一点,您需要在循环中使用indexOf(String str, int fromIndex)
以确保您删除了多个标签 - 并且要小心如何在删除标签后更新fromIndex
!更简单但效率低下的方法是重复调用indexOf()
,直到您用完匹配项,但这会继续从字符串的开头重新开始搜索。
或者您可以将StringBuilder转换为字符串,使用replaceAll()
删除标签创建一个新字符串,然后创建一个新的StringBuilder和结果。尽管最初看起来不必要的丑陋和低效,但如果效率不是优先考虑的话,那么它可能代码更少,阅读更清晰。
+0
谢谢你!我会尝试一下。 – Davis
您不能从字符串中删除'
'(或其他),字符串是不可变的。你可以创建一个新的字符串,就像没有标签(或别的东西)的原始字符串。 –