删除
标记

问题描述:

之后的所有空格我需要删除字符串中<br />之后的所有空格。我从一个xml文档中获取一些html文本,我正在使用此代码在Android应用程序中进行提示:删除<br />标记

information_view.setText(Html.fromHtml(information));

的问题是,这个网站代码:

Betsson vill att du ska vinna 
jackpotten på över 90 miljoner ! 
    Därför får du 5 free spins på Mega 
Fortune varje dag fram tills jackpotten 
har gått ut till en lycklig vinnare. 

    Regler och villkor: 
    Bonuspengarna måste omsättas 35 
gånger innan uttag. 

正如你可以看到发生在HTML代码中都&nbsp;" "空格:当应用程序打印出来

&nbsp; 

Betsson vill att du ska vinna jackpotten p&aring; &ouml;ver 90 miljoner !<br /> 
D&auml;rf&ouml;r &nbsp;f&aring;r du&nbsp;5 free spins&nbsp;p&aring;&nbsp;Mega fortune&nbsp;varje dag fram tills jackpotten har g&aring;tt till en lycklig vinnare.&nbsp;<br /> 
<br /> 
Regler och Villkor:<br /> 
Bonuspengar m&aring;ste oms&auml;ttas 35 g&aring;nger innan uttag.<br /> 
&nbsp; 

貌似这个。但更换其中一个就足够了,因为我可以用" "或其他方式替换&nbsp;

我试过了几天搜索,所有的帮助都非常感谢。

String html = ... 
// replace your &nbsp; 
html = html.replaceAll("<br />\\s+", "<br />"); 

但我更愿意用像JSoup这样的HTML解析器解析HTML。

由于@Christoph指出的那样,你也可以使用这样的:

html = html.replaceAll("<br />\\p{Space}+", "<br />"); 
+0

我更喜欢一个正则表达式字面在一个字符串,以避免讨厌的双逃逸,但仍然正确的解决方案。但是,您缺少全局修改器。 – Christoph

+0

这样做的窍门,感谢您的快速答案。当网站允许我将标记为接受。 – Jiimmeh

+0

@Christoph你不需要用双引号转义正则表达式文字吗?全局修饰符是什么意思? – jlordo