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