Я хочу добавить все символы в строку, которые не являются буквами, и заменить на '#'. Я думаю, что мне нужно регулярное выражение, которое выглядит примерно так: «gsub (), когда это регулярное выражение не совпадает».
Есть идеи?
Смотри, ма, без регулярных выражений ...
str.tr( '^A-Za-z', '#' )
str.gsub(/[^a-zA-Z]/, '#')
Значение ^ не соответствует
Конечно, вы можете использовать отрицание класса символов:
"aBc$%^".gsub(/[^A-Za-z]/, '#') => "aBc###"
Слова сделать подсчет
все символ с ... заменить на '#' str.gsub(/[^a-zA-Z]+/, '#')
str.gsub(/[^a-zA-Z]+/, '#')
каждый символ ... заменить на '#' str.gsub(/[^a-zA-Z]/, '#')
Попробуйте это на кодовой панели:
puts "kjhdfuy37685682#$$%@dfjahf".gsub(/[^a-z]/i, '#')