Удаляет двойные кавычки.Вы можете видеть их в IRB или при использовании p
только потому, что в этих случаях для вас отображаются строки в форме nice , что позволяет вам видеть, что они являются строками.
irb> 'Matthew "Matt" Perry'.scan(/'(.+?)'|"(.+?)"|([^ ]+)/).flatten.compact
=> ["Matthew", "Matt", "Perry"]
В действительности у них уже нет двойных кавычек.
irb> puts 'Matthew "Matt" Perry'.scan(/'(.+?)'|"(.+?)"|([^ ]+)/).flatten.compact
Matthew
Matt
Perry
=> nil
И чтобы заменить двойные кавычки тире, вы можете использовать .tr
:
irb> 'Matthew "Matt" Perry'.tr '"','|'
=> "Matthew |Matt| Perry"