我有一个webview,可以从服务器中选择一些html。在Webview中有两个由%“token”传递的整数。我使用integer.toString使其可见为完美的文本。现在在我的HTML中,我有两倍的%令牌,第一个是成为旧的价格,第二个是成为新的价格。
然而,两者都成为旧价格,因为它是完全相同的参考。有没有办法在Android(Java)中说,第一个必须成为oldPrice,第二个%必须成为newPrice?
有人可以帮助我走正确的道路吗?
提前致谢, 扎卡瑞亚
HTML: Tegen %d %@ %.2f euro voor %.2f欧元。
Java代码:
String taglineText = mStrings.getString(ApplicationStrings.ConfigNames.Redeem.REWARD_POINTS_WITH_PRICE).replace("%d", Integer.toString(item.shizzleP)).replace("%@", item.tagline).replace("%.2f",Integer.toString(item.oldPrice)).replace("%.2f", Integer.toString(item.newPrice));
P.S:我说的是第三个%和第四个%(%。2f)
答案 0 :(得分:1)
好的,这是一个简单的解决方法:
String taglineText = mStrings.getString(ApplicationStrings.ConfigNames.Redeem.REWARD_POINTS_WITH_PRICE).replace("%d", Integer.toString(item.shizzleP)).replace("%@", item.tagline).replaceFirst("%\\.2f",Integer.toString(item.oldPrice)).replaceFirst("%\\.2f", Integer.toString(item.newPrice));
答案 1 :(得分:1)
正如评论中所述,您的字符串为format string,@
除外,s
应该是String taglineText = String.format(
mStrings.getString(KEY).replace("%@", "%s"),
item.shizzleP, item.tagline, item.oldPrice, item.newPrice);
。我愿意:
{{1}}