从字符串中删除单个内部字符实例

tob*_*b88 0 ruby string

我想从字符串中删除一个单词:

str = "I would like to remove THIS word but not THIS word"
Run Code Online (Sandbox Code Playgroud)

我只想删除第一个'THIS',给出结果:

str = "I would like to remove  word but not THIS word"
Run Code Online (Sandbox Code Playgroud)

我正在考虑一些与索引相关的东西:

word = 'THIS'
word.length # => 4
str.index(word) # => 23
Run Code Online (Sandbox Code Playgroud)

有没有办法说,在第23个字符后删除4个字符?

我看到有很多方法可以删除前导和尾随字符,但不确定内部字符.Gsub将删除该单词的所有实例,这不是我正在寻找的.

Urs*_*sus 6

您可以使用sub,它只影响第一个匹配的事件.

str.sub!(word, '');
Run Code Online (Sandbox Code Playgroud)