2009-06-02 6 views
1

Мне нужно удалить символы пули из текста, вставленного из MS Word, но я не могу понять, что на нем.Ruby: Замена патронов, вставленных из MS Word

При печати на STDOUT символ отображается как ¢ ASCII-коды этих символов являются 194 и 162. код ASCII для • символов 149

Любые предложения, как действовать либо в JavaScript или Ruby-кода ?

ответ

1

В рубин, вы должны быть в состоянии использовать что-то вроде:

mystring.gsub(/[\xxx]/,'whatever')

где xxx это код символа вы ищете. Вы можете видеть, что это за код, просто сделав puts mystring в irb, и он должен показать вам

0

У меня была аналогичная проблема с маркерами, включая получение символов, которые вы описываете. Я пробовал различные фильтры 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]/ даст ложные негативы для неанглийских символов, например «ñ».

 Смежные вопросы

  • Нет связанных вопросов^_^