Project

General

Profile

Actions

Bug #6474

closed

Substitution bug in String # gsub

Added by hadmut (Hadmut Danisch) over 9 years ago. Updated over 9 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux]
Backport:
[ruby-core:45152]

Description

Hi,

I need to replace all occurences of & with & in a String (generating LaTeX input).

However, gsub has a problem with unescaping the \ character in the replacement string:

irb(main):001:0> "a&b"
=> "a&b"
irb(main):002:0> "a&b".gsub('&','&')
=> "a&b"
irb(main):003:0> "a&b".gsub('&','\&')
=> "a&b"
irb(main):004:0> "a&b".gsub('&','\&')
=> "a\&b"
irb(main):005:0> "a&b".gsub('&','\\&')
=> "a\&b"

So it always inserts either zero or two \ characters, but never a single one. Not possible to generate "a&b"

regards

Actions

Also available in: Atom PDF