【问题标题】:How to delete a substring after a certain word?如何删除某个单词后的子字符串?
【发布时间】:2016-06-07 14:33:55
【问题描述】:

我有一个很长的字符串,想删除单词后面的字符串部分,我正在寻找 gsub!执行此操作的命令。如果您能提供,我将不胜感激。

供参考: 我知道删除“body”一词之前的字符串部分(字符串称为内容)的命令是:

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

谢谢。

【问题讨论】:

  • 到底是什么问题?
  • 对不起,我在我的问题中包含了一个 html 标签作为“单词”,它无法正确显示,所以我的问题没有意义。

标签: ruby regex gsub


【解决方案1】:

这段代码:

"this has a word in it".gsub! /(word).*/, $1

将字符串改为"this has a word"

括号中的“单词”是正则表达式返回的第一个参数,$1 返回那个参数。

See the Ruby docs for gsub

【讨论】:

    【解决方案2】:

    按照您的正则表达式,需要转义正文中的/,我假设您的意思是每次之后

    contents = "Stuff before </body> stuff after"
    contents.gsub(/(?<=\/body>).+/, "")
    => "Stuff before </body>"
    

    【讨论】:

      猜你喜欢
      • 2016-05-11
      • 2011-11-15
      • 2021-05-20
      • 1970-01-01
      • 1970-01-01
      • 2011-05-28
      • 1970-01-01
      • 2018-08-29
      • 2022-01-24
      相关资源
      最近更新 更多