我正试图将字符串中前面的“$
”替换为“\$
”。例如,“$5 special
”应该变成“\$5 special
”。
我试过了:
"$5 special".gsub(/^\$/, "\$") => "$5 special"
"$5 special".gsub(/^\$/, "\\$") => "\\$5 special"
"$5 special".gsub(/^\$/, "\\\$") => "\\$5 special"
有人知道怎么做吗?
最佳答案
你的第二个例子,
"$5 special".gsub(/^\$/, "\\$")
应该这么做。之所以在输出中看到两个斜杠,是因为ruby将字符串中的斜杠转义,以便将其打印为文本。如果按标准打印出来,你会发现这是你所期望的:
irb(main):009:0> a = "$5 special".gsub(/^\$/, "\\$")
=> "\\$5 special"
irb(main):011:0> print a
\$5 special=> nil
关于ruby - 使用gsub()转义“$”,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5571511/