這不起作用:替換 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