ruby - 如何在某个单词后从字符串中删除所有内容?

标签 ruby regex

所以我知道要删除字符串中“theword”之前的所有内容,您可以这样做。

  .gsub!(/.*?(?=theword)/im, "")

我不确定该怎么做是删除字符串中“theword”之后的所有内容,我想知道您是否可以帮助我制作该正则表达式。它应该是对上述正则表达式的一些修改,但我还没有弄清楚。谢谢!

最佳答案

我看到“切割”是指将一个字符串分成两部分。您可以使用 split通过传递等于 2 的 limit 参数:

s.split(/theword/i, 2)

参见 IDEONE demo

如果出于某种原因,您需要使用删除代码,我建议使用 sub(因为将有一个搜索和替换操作):

  • 删除单词后的所有内容包括单词:.sub!(/theword.*/mi, "") ( demo )
  • 删除单词后的所有排除单词:.sub!(/(theword).*/mi, "\\1") ( demo )

关于ruby - 如何在某个单词后从字符串中删除所有内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37708830/

相关文章:

ruby - Rspec:如何测试递归?

ruby - selenium-webdriver/ruby/rspec2 - 以干净的 session 或清除 cookies 或隐私浏览启动 IE

ruby - 如何从 method_missing 获取绑定(bind)?

regex - IIS 重写规则在实际环境中不起作用

ruby - 如何在 extconf.rb 中为 SWIG 正确包含库路径和其他标志?

Ruby 搜索树示例混淆

javascript - 查找重复的两个单词之间的序列 - javascript

regex - 是否应该一直使用原子组来加速失败?

java - 验证正则表达式

Javascript - 标准化带重音的希腊字符