如何在Scala中将原始字符串转换回格式化字符串?

时间:2018-04-26 22:27:30

标签: string scala string-formatting

如何在Scala中将原始字符串转换回格式化字符串?

我有一个原始字符串"" a \ tb""",如何将此原始字符串更改回格式字符串" a b"在斯卡拉?

我试过这个辅助函数,但它不起作用。

def mapString(str: String): String = {
      str mkString("")
    }

我进行了广泛的搜索,但似乎所有的答案都是关于另一种方式:如何改变 将字符串格式化为原始字符串。

1 个答案:

答案 0 :(得分:0)

使用s String Interpolator

def mapString(str: String): String = {
  s"$str"
}

mapString("a\tb") 

// => a   b
  

原始插值器类似于s插值器,除了它   不执行字符串中文字的转义。

因此s执行转义。

请注意,mkString严格地说不是您想要的 签名:

def mkString(sep: String): String = mkString("", sep, "")
def mkString(start: String, sep: String, end: String): String =
addString(new StringBuilder(), start, sep, end).toString

它基本上在每个字母之间插入一个分隔符:

"hihi".mkString("2") // => h2i2h2i