2012-06-27 27 views
0

嗨那里我试图取代(html)字符串的一部分,但它不工作。是的,我将它设置为一个新的变量。s.replaceAll()不工作Java/AndroidSDK

String newsBody = item.htcontent.replaceAll("resolveuid", "www.urlnotimportant.nl/resolveuid"); 

为什么这不工作?

我认为它与[img /]标签有关。在那些内部是我试图替换的“resolveuid”字符串。

+0

是不是的replaceAll()期待一个正则表达式? –

+4

“它不工作”不是一个很好的描述发生了什么。请详细说明您的期望与实际发生的情况。 –

+0

@bitbox:是的,'resolveuid'是一个有效的正则表达式,需要一个'r'后跟一个'e'等等。 @Jens Vossnak:item.htcontent和newsBody变量的值是多少? – npinti

回答

0

ReplaceAll()方法将正则表达式作为第一个参数。也许你的第一个参数不符合你的期望。 参见http://docs.oracle.com/javase/1.4.2/docs/api/java/lang/String.html#replaceAll(java.lang.String,java.lang。

+0

OP很可能只是试图用另一个替换一个字符串。 SICE每个字符串也是一个正则表达式,表示一组长度为1的可接受字符串,该方法接受正则表达式作为第一个参数并不真正相关,恕我直言。 – predi

+0

也就是说,'String.replace'专门用于替换文字字符串,所以OP可能在这里使用它。 –

+0

谢谢,我会试试这个。 –

0

此代码是一个正确的实现从这个前缀图像链接:

<img src="resolveuid/832c2b08888aba0faccae78a14e9c764" alt="photo"> 

这样:

<img src="www.urlnotimportant.nl/resolveuid/832c2b08888aba0faccae78a14e9c764" alt="photo"> 

除了当然的,没有代码是在将移动的问题出将修改后的HTML放回原处。

你所要做的是修改后的字符串分配回这样的替换以下内容:

item.htcontent = newsBody; 
+0

我知道它应该工作,因为我在Adobe Air应用程序中执行相同的操作,并且图像始终加载。 –

+0

@JensVossnack - 事实证明,最近的Plone等版本可以在URL中间处理'resolveuid'替换项。基于此更新答案。 –