如果我得到你的问题的权利,你要n
后删除所有哈希标签的话你可以像这样做:
str = "The mountains of #Chamonix France are famous for skiing, alpine climbing, base-jumping, #Paragliding, raw adventure and #Home of the first Winter Olympics. It's an adventurers and photographers paradise. Seen here, a long exposure of the #Druis, one of many striking"
n = 2
str.gsub(/#{str.scan(/#\w+/)[n..-1].join('|')}/,'')
# => "The mountains of #Chamonix France are famous for skiing, alpine climbing, base-jumping, #Paragliding, raw adventure and of the first Winter Olympics. It's an adventurers and photographers paradise. Seen here, a long exposure of the , one of many striking"
说明:
首先我们得到了所有的哈希标签的话:
str.scan(/#\w+/)
# => ["#Chamonix", "#Paragliding", "#Home", "#Druis"]
现在我们关心的第二个指标后唯一的话,即
str.scan(/#\w+/)[n..-1] # n is 2
# => ["#Home", "#Druis"]
现在,让我们创建一个正则表达式来查找字符串这些话。在这里:
/str.scan(/#\w+/)[n..-1].join('|')/
# /#Home|#Druis/
最后用gsub
''
替换它们。保持所有的东西放在一起,我们得到:
str.gsub(/#{str.scan(/#\w+/)[n..-1].join('|')}/,'')
问题不明,请重新配制。现在,它看起来好像你想从字符串中取出数字'2',并从结尾删除2'#...'s。 –
哪些单词是相同的单词? – sawa