Replace ' with \' in Ruby?

gsub, ruby, string

Solution

How about this

puts "'".gsub("'","\\\\'")
\'

The reason is that `\'` means post-match in gsub (regex) and because of that it needs to be escaped with `\\'` and `\` is obviously escaped as `\\`, ending up with `\\\\'`.

Example

>> "abcd".gsub("a","\\'")
=> "bcdbcd"

`a` is replaced with everything after `a`.

Problem

I'm trying to figure out how to replace a quote like `'` with something like `\'`. How would I do this? I have tried ``` "'".gsub("'","\\'") ``` but it just gives an empty string. What am I doing wrong here?

Original source