在 Ruby 中,我試圖用字串中的\\單個反斜杠替換雙反斜杠,\但它不起作用。
這是我的字串
line = "this\\is\\line"
期望的輸出
"this\is\line'
這是我試過的
line.gsub("\\", "\") # didn't work
line.gsub("\\", "/\") # didn't work
line.gsub("\\", '\') # didn't work with single quote as well
line.gsub("\\", '/\') # din't work with single quote as well
uj5u.com熱心網友回復:
你被欺騙了——它實際上是在作業,但控制臺顯示它是用 \ 轉義的。用于puts實際查看正在設定的內容,而無需使用反斜杠進行轉義。
所以 #1:line = "this\\is\\line"實際上是this\is\line. 證明:
irb(main):015:0> line = "this\\is\\line"
=> "this\\is\\line"
irb(main):016:0> puts line
this\is\line
因此,要實際制作帶有雙反斜杠的字串,您需要:line = "this\\\\is\\\\line". 證明:
irb(main):017:0> line = "this\\\\is\\\\line"
=> "this\\\\is\\\\line"
irb(main):018:0> puts line
this\\is\\line
所以最后,一旦你真的有一個帶有雙反斜杠的字串,這就是你想要的 gsub:line.gsub("\\\\", "\\")
irb(main):020:0> line = "this\\\\is\\\\line"
=> "this\\\\is\\\\line"
irb(main):021:0> puts line.gsub("\\\\", "\\")
this\is\line
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/497651.html
標籤:红宝石
