У меня была аналогичная проблема с маркерами, включая получение символов, которые вы описываете. Я пробовал различные фильтры regEx и не мог заставить ничего работать, как на марке, так и на появляющихся символах â ¢.
Однако мне удалось найти способ фильтрации точки маркера (или любого аналогичного символа) с использованием настраиваемого метода. Это не красиво и идеально, но это работает:
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
Это будет также удалить все предыдущие пробелы и другие символы не алфавит, так как они также возвращают ноль для = ~ чеке.
Не используйте /[[:alpha:]]/
для соответствия выражения, так как это рассмотрит символы â ¢ в виде букв. Просто отметьте, что /[A-Za-z]/
даст ложные негативы для неанглийских символов, например «ñ».