仅使用项目符号拆分字符串。下面有7个子弹,这只是一个句子。 1个子弹是一个句子

时间:2016-12-21 07:03:47

标签: ruby-on-rails string ruby-on-rails-4

xlsx = Roo::Spreadsheet.open(file)
bookname = xlsx.column(1)

tn = xlsx.column(4)
tn_data = tn[1]
p_tn_data = tn_data.split(/\R+/)
puts p_tn_data.to_s
puts p_tn_data.length // it is counting all line as 13, but total sentences is 7 only

原始数据:

  

["使徒约翰将此写给了基督徒。","•那是从一开始的 - “从一开始就是那个”",&# 34;指耶稣,在一切都成就之前就存在了。您可以将其翻译为“我们#34;,"正在写信给您创建所有事物之前存在的人。”","•开始 - “所有事情的开始事物“或”世界的创造“","•我们 - 在第1和第2节中,”我们“一词指的是约翰和那些在他",&#34时认识耶稣的人在这个世界上,但它不包括约翰所写的人。 (参见:独家)","•我们用眼睛看到的,我们已经想到了 - “我们自己已经","见过他。”",& #34;•永生 - 这句话也指耶稣,他们使我们永远活着。它可以被翻译为“他使我们永远活着。”","•与父亲在一起 - “他与父神在一起”&#34 ;,"•并向我们表明 - “但他来到我们中间生活”(UDB)"]

获取输出:

  

使徒约翰写给基督徒。   •从一开始的那个 - 短语“从一开始的那个”   指耶稣,在一切都成就之前就存在了。您可以将其翻译为“我们   正在写信给你在创造所有事物之前存在的人。“   •开始 - “所有事物的开始”或“世界的创造”   •我们 - 在第1和第2节中,“我们”这个词指的是约翰和那些在耶稣时认识耶稣的人   在地球上,但它不包括约翰写给的人。 (见:独家)   •我们用眼睛看到的,我们已经想到了 - “我们自己有   见过他。“   •永生 - 这句话也指耶稣,他们使我们永远活着。有可能   翻译为“他让我们永远活着”。   •与父亲在一起 - “他与父神在一起”   •并向我们表明 - “但他来到我们中间生活”(UDB)

     
    

如果需要其他任何事情,请告诉我

  

感谢

1 个答案:

答案 0 :(得分:1)

你应该能够得到你需要的东西:

p_tn_data.join('').split('•')

首先我们加入初始数据数组,这将给我们一个扁平的字符串,然后我们分开每个•。这将返回8个句子。第一个没有子弹点,7个从子弹点开始。

如果你想保留实际的子弹点,你可以使用正面的lookbehind正则表达式,如下所示:

p_tn_data.join('').split(/(?=•)/)