У меня есть это выражение:с использованием GSUB в рубиновых строках правильно
channelName = rhash["Channel"].gsub("'", " ")
он прекрасно работает. Однако я могу заменить только 1 символ. Я хочу добавить еще несколько символов для замены. Так что я попытался следующие:
channelName = rhash["Channel"].gsub(/[':;] /, " ")
Это не работает, то есть не было никакой замены делается на струнах и сообщение об ошибке. Я также пробовал:
channelName = rhash["Channel"].gsub!("'", " ")
Это привело к пустой строке. Так совсем не то, чего я хотел.
Я хотел бы иметь метод GSUB заменить следующие символы с пробелом в моей строке:
' ; :
Мои вопросы:
Как структурировать мой метод GSUB так, что все экземпляры вышеуказанных символов заменяются пробелом?
Что происходит с gsub! выше, поскольку он возвращает пробел.
Пробелы много вопросов в регулярном выражении ... – meagar
@meagar Если вы не используйте 'x' вариант правильный? http://www.ruby-doc.org/core-2.0/Regexp.html#label-Options – squiguy
Почему бы не использовать ['String # tr'] (http://ruby-doc.org/core-2.0/String .html # method-i-tr) для простых вещей, подобных этому? –