Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/20.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 用RoR从文本单元抓取第一段?_Ruby On Rails_Ruby_Text_Ruby On Rails 3.2 - Fatal编程技术网

Ruby on rails 用RoR从文本单元抓取第一段?

Ruby on rails 用RoR从文本单元抓取第一段?,ruby-on-rails,ruby,text,ruby-on-rails-3.2,Ruby On Rails,Ruby,Text,Ruby On Rails 3.2,这个标题很好地解释了这一点。我正在用Ruby 1.9.3和Rails 3.2.2为自己编写一个博客引擎,我需要能够从一篇文章(作为文本单元存储在数据库中)中抓取第一段,作为头版的文章摘要。最简单的方法是什么 谷歌在这个问题上透露得很少;这似乎不是一个普遍的需要。一旦你开始思考在你的世界中“段落”的确切定义,答案就会变得相当明显 如果是第一个字符列表,后跟两个换行符?差不多 str.split("\n\n", 2)[0] 我可以工作 如果您有HTML,并且您的段落是由标记定义的,请使用nokog

这个标题很好地解释了这一点。我正在用Ruby 1.9.3和Rails 3.2.2为自己编写一个博客引擎,我需要能够从一篇文章(作为文本单元存储在数据库中)中抓取第一段,作为头版的文章摘要。最简单的方法是什么


谷歌在这个问题上透露得很少;这似乎不是一个普遍的需要。

一旦你开始思考在你的世界中“段落”的确切定义,答案就会变得相当明显

如果是第一个字符列表,后跟两个换行符?差不多

str.split("\n\n", 2)[0]
我可以工作

如果您有HTML,并且您的段落是由
标记定义的,请使用nokogiri-like

Nokogiri::HTML.parse(input_string).css('p').first.text

但同样,这完全取决于你如何定义你的段落。一旦你开始思考你到底想要什么,比如,如何以抽象的方式将输入数据转换为输出数据,像这样的东西通常会自行解决。所需的算法自然来自这些步骤。

如果这可能对某人有所帮助,我通过将Holger Just的Nokogiri解决方案与RedCloth相结合来获得html标记,从而在RoR中获得了所需的结果:

Nokogiri::HTML.parse(raw RedCloth.new(input_string).to_html).css('p').first.text

str.lines[0]应该给出第一句话。。。或者简单地使用TunCeTeNe(ActhVIEW助手),如果你不介意在句子的中间分裂

谢谢,我会给你一个机会。作为一名Objective-C程序员,现在只使用Ruby和Rails大约一个月了,显而易见的事情对我来说还不是很明显,哈哈。像字符串拆分/搜索、正则表达式和XML解析器之类的东西随处可见。大多数概念在每种语言中或多或少都是相同的。它们只是拼写不同:)