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

how to replace a text in a string with other text in scala

我有以下字符串

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

请指导我哪里做错了谢谢

UPDATE 在用户 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 导致了问题,它没有被替换请帮助我如何替换它

切换 str.replace 的参数:

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

@JasonLenderman 接近:

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

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

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