字符选择器

字符选择器

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

字符选择器标识 self 中的零个或多个字符,这些字符将作为方法的操作数。

在本节中,我们将说明如何使用方法 String#delete(selector),该方法会删除选定的字符。

在最简单的情况下,选定的字符正是选择器本身包含的字符

'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')