这不起作用:
scala> """one\r\ntwo\r\nthree\r\nfour""".replace("\r\n", "\n")
res1: String = one\r\ntwo\r\nthree\r\nfour
如何在Scala中执行此操作?
是否有更惯用的方法,而不是使用替换?
答案 0 :(得分:0)
问题是"""
引号不会扩展转义序列。三种不同的方法:
"
引号以正确处理转义序列:"one\r\ntwo"
; s
字符串插补器,请谨慎使用此方法,因为这可能会导致意外替换:s"""one\r\ntwo"""
; treatEscapes
以展开字符串中的转义序列:StringContext.treatEscapes("""one\r\ntwo""")
。答案 1 :(得分:0)
试试这个
"""one\r\ntwo\r\nthree\r\nfour""".replace("\\r\\n", "\n")
\
在字符串中被视为escape
字符,因此您需要告诉compiler
它不是escape
字符而是string
。< / p>