从Rails中的字符串解析/提取文本?
|
我在Rails中有一个字符串,例如“这是一条Twitter消息。#books《战争与和平》,列夫·托尔斯泰。我喜欢这本书!
这是使用正则表达式并将\“#books \”之间的文本提升为\ ..“的问题吗?
如果消息没有结构怎么办,例如:
\“这是一条推特讯息,#列奥·托尔斯泰的《战争与和平》一书,我很喜欢这本书!\”或
\“这是Twitter消息。我喜欢列夫·托尔斯泰#books写的《战争与和平》 \”
我如何能可靠地将短语“托尔斯泰的战争与和平”拉出来而又不知道事前的短语。
是否有任何宝石,方法等可以帮助我做到这一点?
至少,您会称呼我要做什么?这将帮助我在Google上搜索解决方案。我已经尝试过对\“解析\\”进行几次搜索,但是没有运气。
-编辑-
基于@rogeliog的建议,我将添加以下内容:
我可以忍受#books后面的垃圾文字,但之前没有。我尝试了“匹配。(/#books。* /)\”-结果在这里:www.rubular.com/r/gM7oSZxF5M。
但是如何捕获结果6? (例如,当某人将#books放在句子的末尾时)?
我可以用正则表达式进行if-then吗?就像是:
如果[#books在消息末尾],
然后[从#books的最后10个单词开始],
其他[匹配。(/#books。* /)]
如果您提供正则表达式,请使用rubular.com通过永久链接发布解决方案
没有找到相关结果
已邀请:
2 个回复
闲窍
这将返回:“列夫·托尔斯泰的战争与和平。” 如果要根据#books是否在结尾处执行if else语句,则可以:
如果#books位于末尾,则将为您提供书籍之前的最后10个单词;如果#books位于末尾,则将为您提供#books之后的任何内容 我真的没有更好的主意,希望对您有用,让我知道:)
悍蕾驮苇袜