如何用scala高效替换多个字符?

Joe*_*Joe 0 java scala replaceall

我想将5个不同的字符替换为5个不同的字符,当前的即时通讯方式看起来很愚蠢,那么有什么更好的方法呢?

目前:

 private def fixChars(str: String): String = {
    str.replaceAll("Ø","O")
    str.replaceAll("ø", "o")
    str.replaceAll("Ž","Z")
    str.replaceAll("ž","z")
    str.replaceAll("Ö","O")
}
Run Code Online (Sandbox Code Playgroud)

Zyo*_*oma 5

我相信这种方法将为您工作,并且只需一次迭代即可替换所有字符:

private def fixChars(str: String): String = {
  val substitutions = Map(
    'Ø' -> 'O',
    'ø' -> 'o',
    ...
  )
  str.map(c => substitutions.getOrElse(c, c))
}
Run Code Online (Sandbox Code Playgroud)