所以我知道在" theword"之前切断字符串中的所有内容。你会这样做的。
.gsub!(/.*?(?=theword)/im, "")
我不确定怎么做是在" theword"之后删除字符串中的所有内容。我想知道你是否可以帮我制作那个正则表达式。它应该是对上述正则表达式的一些修改,但我还没有想到它。谢谢!
答案 0 :(得分:1)
我看到"切割"你的意思是将一个字符串分成两部分。您可以通过将 limit 参数传递给2:
来使用split
s.split(/theword/i, 2)
请参阅IDEONE demo
如果由于某种原因,您需要使用删除代码,我建议使用sub
(因为将有一个搜索和替换操作):
答案 1 :(得分:0)
以下是你在
之后捕捉所有内容的方法基本上我们找到了模式,我们拒绝使用?:非捕获修饰符捕获它,但我们捕获它后面的所有内容。
/(?:.*?theword)(.*)/gm
答案 2 :(得分:0)
要在“theword”之前删除所有内容,您使用了正向前瞻。同样,要在“theword”之后删除所有内容,您可以使用正向后视
.gsub!(/(?<=theword).*?/im, "")