如何用scala中的其他文本替换字符串中的文本

时间:2015-10-08 13:51:52

标签: string scala replace scala-2.11

我有一个跟随字符串

var str="ArtShare$u002ETotalArtShares"

我想将此"$u002E"替换为".",以便我的字符串变为 “ArtShare.TotalArtShares”实现了这个我使用的替换功能

var str="ArtShare$u002ETotalArtShares"
var replace=str.replace(".","$u002E")
println("replaced string is "+replace)

但是在控制台

上打印了它不能正常工作
replaced string is ArtShare$u002ETotalArtShares

请指导我在哪里做错了谢谢

用户nyavro回答后

更新 我试过这个

var str="ArtShare$u002ETotalArtShares"
var replace=str.replace("$u002E", ".")
println("replaced string is "+replace)

但输出保持不变 但测试我试过这个

 var str1="ArtShare$u002ETotalArtShares"
 var replace1=str1.replace("Total", ".")
 println("replaced string is "+replace1)

打印以下内容

replaced string is ArtShare$u002E.ArtShares

这意味着当我用“。”替换Total时代码正在工作。但是当我给这部分字符串$u002E时它不起作用请帮助我,我不明白为什么会发生这种情况

更新2 我试过这个

 var str2="ArtShare$u002ETotalArtShares"
 var replace2=str2.replace("u002E", ".")
 println("replaced string is "+replace2)

打印以下内容

replaced string is ArtShare$.TotalArtShares

之后我猜$ sign导致问题不能替换请帮助我如何替换它

2 个答案:

答案 0 :(得分:4)

切换str.replace的参数:

 var replace=str.replace("$u002E", ".")

答案 1 :(得分:1)

@JasonLenderman很接近:

var replace = str.replaceAll("\\$U002E", ".") 

但他提到他没有问题。我最初看到了同样的事情,但看起来$ u002E和$ U002E之间存在差异,如果“U”大写,则字符串会得到特别考虑。如果您将“U”大写,则以下内容不起作用:

var replace = str.replace("\\$U002E", ".")