看板 Ruby 關於我們 聯絡資訊
環境: Ruby 1.8.6 (not Rails) 狀況: 請問 ruby 的字串要如何在某些特定符號前面加上特定字元? 例如: Shelary's ruby program >"< . 我希望在 ' " 的前面加上反斜線 \ 變成: Shelary\'s ruby program >\"< . 但不是所有的符號都要加反斜線, 而是只有我想要加的符號才加 那要怎麼寫..執行效率才會比較快? 我本來是想用迴圈一個字元一個字元檢查, 但效率好像很差 >_< -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 59.126.45.78
godfat:string.gsub("'", "\\\\'").gsub('"', '\\\\"') 11/08 21:42
※ 編輯: shelary 來自: 59.126.45.78 (11/08 22:58)
shelary:很奇怪的是..當我轉成 \" 後..又要轉回來 " 時 11/08 23:19
shelary:卻要用 string.gsub("\\'", "'").gsub('\\"', '"') 11/08 23:19
shelary:也就是本來要用 \\\\ 轉回來卻是用 \\ .. 真奇怪 11/08 23:20
godfat:我個人認為 gsub 有一點設計不良,前後用的不太一樣... 11/08 23:53
godfat:後面的大概是要支援 \1 之類的東西,所以需要 \\ 11/08 23:54
godfat:前面就沒有這樣的東西,所以不用改寫成 \\ 11/08 23:54