Ich hatte ein ähnliches Problem mit den Aufzählungszeichen, einschließlich der Symbole, die Sie beschreiben. Ich habe eine Vielzahl von RegEx-Filtern ausprobiert und konnte weder am Aufzählungspunkt noch an den resultierenden Zeichen etwas zum Laufen bringen.
Allerdings habe ich einen Weg gefunden, den Aufzählungspunkt (oder ein ähnliches Zeichen) mit einer benutzerdefinierten Methode zu filtern. Es ist nicht schön oder ideal, aber es funktioniert:
def strip_bullet_point(value)
first_char = 0
value.each_char { |c| c =~ /[A-Za-z]/ ? break : first_char += 1 }
value[first_char...value.length]
end
Dies wird auch alle vorhergehenden Rohlinge und andere nicht alphabetische Zeichen entfernen, da sie auch null für die = ~ Scheck zurück.
Verwenden Sie nicht /[[:alpha:]]/
für die Ausdruckübereinstimmung, da dies die Zeichen ¢ als Buchstaben berücksichtigt. Beachten Sie, dass /[A-Za-z]/
falsch-negative Zeichen für nicht englische Zeichen wie "ñ" gibt.