Actions
Bug #11132
closedString#sub and character sequence \' in replacement string
Status:
Closed
Assignee:
-
Target version:
-
ruby -v:
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-linux]
Backport:
Description
Hi,
I don't know if this is intentional but substitution of \'
and \`
in the replacement string was rather unexpected for me:
2.2.2 :001 > "this is a test".sub(/this/, "some text \\'")
=> "some text is a test is a test"
I would have expected the following result:
=> "some text \\' is a test"
The documentation says nothing about this, just that back-references can be used (i.e. \\d
or \\k<n>
).
A work-around is escaping the escape character:
2.2.2 :001 > "this is a test".sub(/this/, "some text \\\\'")
=> "some text \\' is a test"
Thanks!
Updated by nobu (Nobuyoshi Nakada) over 9 years ago
It's a spec, but seems there is no docs about it.
This is a documentation issue.
Updated by hsbt (Hiroshi SHIBATA) over 9 years ago
- Status changed from Open to Closed
Applied in changeset r50509.
- string.c: added documentation for character sequence ' with String#sub
[Bug #11132][ruby-core:69121][fix GH-900][ci skip] Patch by @shishir127 (Shishir Joshi)
Updated by usa (Usaku NAKAMURA) over 9 years ago
- Backport changed from 2.0.0: UNKNOWN, 2.1: UNKNOWN, 2.2: UNKNOWN to 2.0.0: WONTFIX, 2.1: REQUIRED, 2.2: REQUIRED
Updated by usa (Usaku NAKAMURA) over 9 years ago
- Backport changed from 2.0.0: WONTFIX, 2.1: REQUIRED, 2.2: REQUIRED to 2.0.0: WONTFIX, 2.1: DONE, 2.2: REQUIRED
ruby_2_1 r50582 merged revision(s) 50509.
Updated by nagachika (Tomoyuki Chikanaga) over 9 years ago
- Backport changed from 2.0.0: WONTFIX, 2.1: DONE, 2.2: REQUIRED to 2.0.0: WONTFIX, 2.1: DONE, 2.2: DONE
Backported into ruby_2_2
branch at r50628.
Actions
Like0
Like0Like0Like0Like0Like0