blob: 1a38c08b3274a949b786e9d12d240703b2047a3e (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
|
Returns a copy of +self+ with each tuple (doubling, tripling, etc.) of specified characters
"squeezed" down to a single character.
The tuples to be squeezed are specified by arguments +selectors+,
each of which is a string;
see {Character Selectors}[rdoc-ref:character_selectors.rdoc@Character+Selectors].
A single argument may be a single character:
'Noooooo!'.squeeze('o') # => "No!"
'foo bar baz'.squeeze(' ') # => "foo bar baz"
'Mississippi'.squeeze('s') # => "Misisippi"
'Mississippi'.squeeze('p') # => "Mississipi"
'Mississippi'.squeeze('x') # => "Mississippi" # Unused selector character is ignored.
'бессонница'.squeeze('с') # => "бесонница"
'бессонница'.squeeze('н') # => "бессоница"
A single argument may be a string of characters:
'Mississippi'.squeeze('sp') # => "Misisipi"
'Mississippi'.squeeze('ps') # => "Misisipi" # Order doesn't matter.
'Mississippi'.squeeze('nonsense') # => "Misisippi" # Unused selector characters are ignored.
A single argument may be a range of characters:
'Mississippi'.squeeze('a-p') # => "Mississipi"
'Mississippi'.squeeze('q-z') # => "Misisippi"
'Mississippi'.squeeze('a-z') # => "Misisipi"
Multiple arguments are allowed;
see {Multiple Character Selectors}[rdoc-ref:character_selectors.rdoc@Multiple+Character+Selectors].
Related: see {Converting to New String}[rdoc-ref:String@Converting+to+New+String].
|