这不起作用:替换 r n与 n
scala> """one\r\ntwo\r\nthree\r\nfour""".replace("\r\n", "\n")
res1: String = one\r\ntwo\r\nthree\r\nfour
如何做到这一点在Scala呢?
有没有更习惯的做法,而不是使用替换?
这不起作用:替换 r n与 n
scala> """one\r\ntwo\r\nthree\r\nfour""".replace("\r\n", "\n")
res1: String = one\r\ntwo\r\nthree\r\nfour
如何做到这一点在Scala呢?
有没有更习惯的做法,而不是使用替换?
问题是"""
引号不会扩展转义序列。三种不同的方法:
"
为了正确对待转义序列:"one\r\ntwo"
;s
字符串插值器,小心遵循此方法,因为这可能会导致意外的替换:s"""one\r\ntwo"""
;treatEscapes
可以扩展字符串中的转义序列:StringContext.treatEscapes("""one\r\ntwo""")
。试试这个
"""one\r\ntwo\r\nthree\r\nfour""".replace("\\r\\n", "\n")
\
作为字符串中escape
系统字符处理,所以你需要告诉compiler
,它不是一个escape
字符,但一个string
。
有帮助吗? –
''“”“\ r \ n”“”'与'\ r \ n“'有很大不同。 –
@ n.m。叶普,我刚刚意识到这一点。我会接受,作为回答 – dangonfast