需要使用\ n或\ r \ n从数组中拆分字符串

时间:2016-12-20 11:13:59

标签: ruby-on-rails ruby

Dir.glob("**/*.xlsx") do |file|
 xlsx = Roo::Spreadsheet.open(file)
 bookname = xlsx.column(1)

 tn = xlsx.column(4)
 tn_data = tn[1]
 p_tn_data = tn_data.split(/\r\n/)
 puts p_tn_data.class

 p_tn_data.to_s.each_line do |line|
  puts line
 end

 xlsx.column(3).each do |cl|
  if (cl != "Verse")
    directory_name = bookname[1]
    Dir.mkdir(directory_name) unless File.exists?(directory_name)
    output_name = "#{directory_name}/#{File.basename(cl[0], '.*')}.md"
    output = File.open(output_name, 'w')
    output << "hello"
    output.close
  end
 end
end

[“使徒约翰把这写给了基督徒。\ n•那是从一开始的那句话 - ”从一开始的那句话“\ n”指的是耶稣,在所有事情发生之前就存在了。你可以把它翻译为“我们不会写信告诉你在创造所有事物之前存在的人。”\ n•开始 - “所有事物的开始”或“世界的创造”\ n•我们听到过 - “我们听过的”这句话指的是耶稣教导的内容。它可以被翻译为“我们听到他教导。”\ n•我们用眼睛看到的,我们已经想到了 - “我们自己已经看过他了“\ n•我们的双手处理 - ”我们用双手抚摸他“\ n \ n \ n生命之道 - 这指的是耶稣。”他是让人永远活着的人。“\ n•and was向我们表明 - “但他来到我们中间生活”(UDB)“]

  

如果你在上面的数组中看到它是单个字符串并且有“\ n•”,这里\ n是行尾和•是起始行。

     
    

我必须将这个数组变成所有部分字符串而不是单个字符串。

  

1 个答案:

答案 0 :(得分:0)

此处:p_tn_data = tn_data.split(/\r\n/)您将数组拆分为\r\n,而字符串本身仅包含\n。请使用ruby \R

p_tn_data = tn_data.split(/\R+/)