Project

General

Profile

Bug #11793

Updated by nobu (Nobuyoshi Nakada) over 3 years ago

Test case:

~~~ruby

puts 'ab'.gsub('a', '\\+')
~~~
'\\\\+')

Expected output:

~~~

\+b
~~~
\\+b

Actual output:

~~~

b
~~~


The way I understand `gsub(pattern, replacement)` gsub(pattern, replacement) when used with two string arguments is that it will perform a literal replacement, so it is quite unexpected that substituting with `\+` \\+ removes the pattern entirely.

Doc: http://ruby-doc.org/core-2.2.3/String.html#method-i-gsub

Back