如何防止Html.fromHtml修剪空白
在一个Android Java项目中,我有一个像这样的字符串(尽管在每一边都有不同数量的空白):
String foo = " foo bar "
字符串两边的空格是重要的,因为实际的字符串包含HTML语法高亮的缩进代码。
当我通过Html.fromHtml
传递字符串时,这个开始和结束空白被删除,但我需要保留在那里的空白:
Html.fromHtml(foo).toString() // "foo bar" - I want " foo bar "
如何通过Html.fromHtml
调用来保留字符串两边的空格?
尝试使用TextUtils.htmlEncode(str)。
这个方法将会转义所有的html字符串。
Yazan的建议已经足够了,但是既然你说过这个字符串是动态生成的,你可以总是以新生成的字符串s为例,并使用concat()方法。例如s.concat(“&nbsp”);
由于Html.fromHtml()
将字符串解析为html标签,而内容可能是您想要使用编码字符的空格,
在你的代码中试试这个
String foo = " foo bar ";
注意:重复
尽可能多的空间,你需要显示。
编辑:如果您从其他位置获取字符串,则可以用空格替换空格
在通过之前
String foo = getMyFoo(); foo = foo.replaceAll(" "," ");
为了保留起始空白,这个Kotlin代码似乎可以工作,并且可能也不会难以适应以结束空白:
fun replaceWithNonBreakingAtStart(str: String) = (1..(str.takeWhile { it == ' ' }.count())).map { " " }.joinToString("") + str.trimStart()