Forum: Ruby short cut for gsub("word","")

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Eric G. (Guest)
on 2009-04-14 02:20
is there any shortcut for removing a string of characters from text,
like gsub("word",""). I looked into String#delete but it will delete all
the characters in the entire word.

Im guessing something like this already exists.
Tony A. (Guest)
on 2009-04-14 03:41
(Received via mailing list)
On Mon, Apr 13, 2009 at 4:20 PM, Aryk G.
<removed_email_address@domain.invalid>wrote:

> Im guessing something like this already exists.
>

I'm kind of surprised String#- doesn't work (it isn't defined)
Brian C. (Guest)
on 2009-04-15 17:15
Aryk G. wrote:
> is there any shortcut for removing a string of characters from text,
> like gsub("word",""). I looked into String#delete but it will delete all
> the characters in the entire word.

  str["word"] = ""
  str[/word/] = ""

but these only do the first instance.

If you find yourself writing

  str.gsub! /word/, ''

repeatedly, to the point where it is tiresome, then factor it out
yourself, depending on exactly what your needs are. e.g.

  class String
    def remove!(str)
      gsub!(str, '')
    end
    def remove(str)
      res = dup
      res.remove!(str)
      res
    end
  end
This topic is locked and can not be replied to.