我只是想知道是否有任何方法从另一个字符串中删除字符串?像这样的东西:
class String
def remove(s)
self[s.length, self.length - s.length]
end
end
Run Code Online (Sandbox Code Playgroud)
Pet*_*ete 254
您可以使用切片方法:
a = "foobar"
a.slice! "foo"
=> "foo"
a
=> "bar"
Run Code Online (Sandbox Code Playgroud)
有一个非'!' 版本也是.更多信息也可以在关于其他版本的文档中看到:http: //www.ruby-doc.org/core/classes/String.html#M001213
Wai*_*... 101
如果它是字符串的结尾,您还可以使用chomp:
"hello".chomp("llo") #=> "he"
Run Code Online (Sandbox Code Playgroud)
the*_*Man 42
如果您只有一次出现的目标字符串,则可以使用:
str[target] = ''
Run Code Online (Sandbox Code Playgroud)
要么
str.sub(target, '')
Run Code Online (Sandbox Code Playgroud)
如果您有多次目标使用:
str.gsub(target, '')
Run Code Online (Sandbox Code Playgroud)
例如:
asdf = 'foo bar'
asdf['bar'] = ''
asdf #=> "foo "
asdf = 'foo bar'
asdf.sub('bar', '') #=> "foo "
asdf = asdf + asdf #=> "foo barfoo bar"
asdf.gsub('bar', '') #=> "foo foo "
Run Code Online (Sandbox Code Playgroud)
如果你需要做的就地替换使用"!"的版本gsub!和sub!.
Igo*_*dov 16
如果您的子字符串位于字符串末尾的开头,那么Ruby 2.5已经为此引入了以下方法:
| 归档时间: |
|
| 查看次数: |
218859 次 |
| 最近记录: |