我有两种情况:
在第一篇文章中,我可能会有一个字符串:
Posted 03-20-2017 More info Go to Last Post
我可能会有一个字符串:
Posted today More info Go to Last Post
在这两种情况下,我都不想要更多信息......
我尝试使用gsub
,但它并不适用于这两种情况。有没有人有可能的解决方案?
答案 0 :(得分:1)
使用Ruby sub,它将为您提供副本第一次出现的替代第二个参数的模式。
所以它会取整个字符串"Posted 03-20-2017 More info Go to Last Post"
,找到你的模式以及More info...
之后的所有内容,并将其替换为第二个参数More info
,即这种情况与第一种情况相同(您可以在那里使用变量)。
"Posted 03-20-2017 More info Go to Last Post".sub /More info.*/, 'More info'
=> "Posted 03-20-2017 More info"
gsub也以类似的方式工作。
答案 1 :(得分:1)
通过在字符串上运行split("More info")
可以相对轻松地完成此操作。这样做会将字符串分解为如下所示的数组:
new_string = "Posted today More info Go to Last Post"
new_string = new_string.split("More info")
# becomes ["Posted today ", " Go to Last Post"]
分裂的作用是将字符串分成一个数组,其中每个元素都在参数之前。因此,如果您有"1,2,3"
,则split(",")
将返回[1, 2, 3]
因此,要继续您的解决方案,您可以获得这样的发布日期:
new_string[0].strip
.strip
删除字符串前面或后面的空格,因此您只需留下"Posted today"