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