Zeichenselektoren

Zeichenselektor

Ein Zeichenselektor ist ein String-Argument, das von bestimmten Ruby-Methoden akzeptiert wird. Jede dieser Instanzmethoden akzeptiert einen oder mehrere Zeichenselektoren

Ein Zeichenselektor identifiziert null oder mehr Zeichen in self, die Operanden für die Methode sein sollen.

In diesem Abschnitt illustrieren wir die Verwendung der Methode String#delete(selector), die die ausgewählten Zeichen löscht.

Im einfachsten Fall sind die ausgewählten Zeichen genau diejenigen, die im Selektor selbst enthalten sind

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

Beachten Sie, dass Reihenfolge und Wiederholungen keine Rolle spielen

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

In einem Zeichenselektor werden diese drei Zeichen besonders behandelt

Mehrere Zeichenselektoren

Diese Instanzmethoden akzeptieren mehrere Zeichenselektoren

Effektiv werden die gegebenen Selektoren zu einem einzigen Selektor zusammengefügt, der nur aus den Zeichen besteht, die in allen gegebenen Selektoren gemeinsam vorkommen.

Alle Formen von Selektoren können verwendet werden, einschließlich Negationen, Bereiche und Escapes.

Jedes dieser Methodenaufrufpaare ist äquivalent

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

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

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