字符选择器

字符选择器

字符选择器是某些 Ruby 方法接受的字符串参数。 这些实例方法中的每一个都接受一个或多个字符选择器

字符选择器标识 self 中要用作方法操作数的零个或多个字符。

在本节中,我们使用方法 String#delete(选择器) 进行说明,该方法删除所选字符。

在最简单的情况下,所选字符与选择器本身包含的字符完全相同

'abracadabra'.delete('a')   # => "brcdbr"
'abracadabra'.delete('ab')  # => "rcdr"
'abracadabra'.delete('abc') # => "rdr"
'0123456789'.delete('258')  # => "0134679"
'!@#$%&*()_+'.delete('+&#') # => "!@$%*()_"
'тест'.delete('т')          # => "ес"
'こんにちは'.delete('に')     # => "こんちは"

请注意,顺序和重复无关紧要

'abracadabra'.delete('dcab') # => "rr"
'abracadabra'.delete('aaaa') # => "brcdbr"

在字符选择器中,这三个字符会被特殊处理

多个字符选择器

这些实例方法接受多个字符选择器

实际上,给定的选择器被形成为一个单一的选择器,该选择器仅包含所有给定选择器共有的字符。

可以使用所有形式的选择器,包括否定、范围和转义。

每对方法调用都是等效的

s.delete('abcde', 'dcbfg')
s.delete('bcd')

s.delete('^abc', '^def')
s.delete('^abcdef')

s.delete('a-e', 'c-g')
s.delete('cde')