【发布时间】:2011-11-29 03:48:10
【问题描述】:
我正在尝试从字符串中解析单词并将它们放入数组中。我尝试了以下方法:
@string1 = "oriented design, decomposition, encapsulation, and testing. Uses "
puts @string1.scan(/\s([^\,\.\s]*)/)
它似乎可以解决问题,但有点不稳定(例如,我应该包含更多特殊字符)。在红宝石中有更好的方法吗?
可选:我有一个 cs 课程说明。我打算从中提取所有单词并将它们放在一个字符串数组中,从生成的数组中删除英语中最常见的单词,然后将其余单词用作用户可以用来搜索 cs 的标签课程。
【问题讨论】:
-
英文很难用正则表达式解析。您是否考虑过自然语言解析器?它将更准确地识别句子
Mr. Smith is here.中句点之间的差异,并将Mr.作为一个包含点的单词返回,但here不包含点。 -
@MarkByers,非常好,我现在没有。我会仔细看看的。谢谢!
标签: ruby-on-rails ruby regex parsing