Ruby sub不使用IO.write在输出文件中应用

时间:2016-10-10 07:54:45

标签: ruby encoding gsub

我有一个问题是在输出txt文件中获得相同的结果,我在字符串中应用sub方法。所以当我在单个字符串中应用以下代码时,我会在字符串中间的大写字母前面得到\ n:

line3= "We were winning The Home Secretary played a
important role."
line3.sub(/(?<!^) *+(?=[A-Z])/, "\n")

=> "We were winning\nThe Home Secretary played a\n    important role."

但是,如果我应用以下代码,我得到的txt文件在大写字母之前没有任何\ n。

old= File.readlines("Modificado word.txt")
second= old.join

third= second.sub(/(?<!^) *+(?=[A-Z])/, "\n")

new= IO.write("new.txt", third) 

我尝试了多种编码方式(当然是以错误的方式),因为我认为问题可能存在,但其中任何一种都有效。即使是gsub,也没有用。

1 个答案:

答案 0 :(得分:0)

好的,我有解决方案,我不知道为什么但是txt文件的编码类型是readlines命令甚至无法读取的格式,所以我将所有内容复制到另一个应该从头开始创建的txt文件,它起作用了:)