diff options
Diffstat (limited to 'doc/character_selectors.rdoc')
| -rw-r--r-- | doc/character_selectors.rdoc | 97 |
1 files changed, 0 insertions, 97 deletions
diff --git a/doc/character_selectors.rdoc b/doc/character_selectors.rdoc deleted file mode 100644 index 47cf242be7..0000000000 --- a/doc/character_selectors.rdoc +++ /dev/null @@ -1,97 +0,0 @@ -= Character Selectors - -== Character Selector - -A _character_ _selector_ is a string argument accepted by certain Ruby methods. -Each of these instance methods accepts one or more character selectors: - -- String#tr(selector, replacements): returns a new string. -- String#tr!(selector, replacements): returns +self+ or +nil+. -- String#tr_s(selector, replacements): returns a new string. -- String#tr_s!(selector, replacements): returns +self+ or +nil+. -- String#count(*selectors): returns the count of the specified characters. -- String#delete(*selectors): returns a new string. -- String#delete!(*selectors): returns +self+ or +nil+. -- String#squeeze(*selectors): returns a new string. -- String#squeeze!(*selectors): returns +self+ or +nil+. - -A character selector identifies zero or more characters in +self+ -that are to be operands for the method. - -In this section, we illustrate using method String#delete(selector), -which deletes the selected characters. - -In the simplest case, the characters selected are exactly those -contained in the selector itself: - - 'abracadabra'.delete('a') # => "brcdbr" - 'abracadabra'.delete('ab') # => "rcdr" - 'abracadabra'.delete('abc') # => "rdr" - '0123456789'.delete('258') # => "0134679" - '!@#$%&*()_+'.delete('+&#') # => "!@$%*()_" - 'тест'.delete('т') # => "ес" - 'こんにちは'.delete('に') # => "こんちは" - -Note that order and repetitions do not matter: - - 'abracadabra'.delete('dcab') # => "rr" - 'abracadabra'.delete('aaaa') # => "brcdbr" - -In a character selector, these three characters get special treatment: - -- A leading caret (<tt>'^'</tt>) functions as a "not" operator - for the characters to its right: - - 'abracadabra'.delete('^bc') # => "bcb" - '0123456789'.delete('^852') # => "258" - -- A hyphen (<tt>'-'</tt>) between two other characters - defines a range of characters instead of a plain string of characters: - - 'abracadabra'.delete('a-d') # => "rr" - '0123456789'.delete('4-7') # => "012389" - '!@#$%&*()_+'.delete(' -/') # => "@^_" - - # May contain more than one range. - 'abracadabra'.delete('a-cq-t') # => "d" - - # Ranges may be mixed with plain characters. - '0123456789'.delete('67-950-23') # => "4" - - # Ranges may be mixed with negations. - 'abracadabra'.delete('^a-c') # => "abacaaba" - -- A backslash (<tt>'\'</tt>) acts as an escape for a caret, a hyphen, - or another backslash: - - 'abracadabra^'.delete('\^bc') # => "araadara" - 'abracadabra-'.delete('a\-d') # => "brcbr" - "hello\r\nworld".delete("\r") # => "hello\nworld" - "hello\r\nworld".delete("\\r") # => "hello\r\nwold" - "hello\r\nworld".delete("\\\r") # => "hello\nworld" - -== Multiple Character Selectors - -These instance methods accept multiple character selectors: - -- String#count(*selectors): returns the count of the specified characters. -- String#delete(*selectors): returns a new string. -- String#delete!(*selectors): returns +self+ or +nil+. -- String#squeeze(*selectors): returns a new string. -- String#squeeze!(*selectors): returns +self+ or +nil+. - -In effect, the given selectors are formed into a single selector -consisting of only those characters common to _all_ of the given selectors. - -All forms of selectors may be used, including negations, ranges, and escapes. - -Each of these pairs of method calls is equivalent: - - s.delete('abcde', 'dcbfg') - s.delete('bcd') - - s.delete('^abc', '^def') - s.delete('^abcdef') - - s.delete('a-e', 'c-g') - s.delete('cde') |
