替换String中key-> values对的出现

pic*_*ter 2 functional-programming scala

我有一个地图,我在其中存储我想要在字符串中替换的key-> value对参数.例如Map(id - > 1,name - > peter)和https://example.com/#id/#name应生成此字符串:https://example.com/1/peter

这是我的代码到目前为止,它的工作原理.有没有办法让这项工作没有var

def replaceUrlParams(url: String, params: Map[String, String]): String = {
    var replacement: String = url
    params.map(value => {
        replacement = replacement.replaceAll("#"+value._1, value._2)
    })
    replacement
}
Run Code Online (Sandbox Code Playgroud)

Dim*_*ima 12

您正在寻找foldLeft:

 params.foldLeft(url) { case (str, (key, value)) =>
    str.replaceAll("#" + key, value)
 }
Run Code Online (Sandbox Code Playgroud)