From: "hadmut (Hadmut Danisch)" Date: 2012-05-20T22:19:38+09:00 Subject: [ruby-core:45152] [ruby-trunk - Bug #6474][Open] Substitution bug in String # gsub Issue #6474 has been reported by hadmut (Hadmut Danisch). ---------------------------------------- Bug #6474: Substitution bug in String # gsub https://bugs.ruby-lang.org/issues/6474 Author: hadmut (Hadmut Danisch) Status: Open Priority: Normal Assignee: Category: Target version: ruby -v: ruby 1.9.3p0 (2011-10-30 revision 33570) [x86_64-linux] 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 -- http://bugs.ruby-lang.org/