作者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