我有一个替换映射表
val replacements = Map("aaa" -> "d", "bbb" -> "x", "ccc" -> "mx")
我想用相应的值替换字符串中所有映射表键的出现。
val str = "This aaa is very bbb and I would love to cccc"
val result = cleanString(str, replacements)
result = "This d is very x and I would love to mx"
我已经完成了
val sb = new StringBuilder(str)
for(repl <- replacements.keySet) yield {
sb.replaceAllLiterally(repl, replacement.get(repl))
}
但我希望有更多功能的东西,比如像 map
或 fold
这样的函数,在应用于字符串时返回另一个字符串,而不需要一个在循环内被修改的可变变量。
warning: method replaceAllLiterally in class StringOps is deprecated (since 2.13.2): Use s.replace as an exact replacement
- Amir Shabani