当前有一 txt 文件,我想将里面的逗号,替换成换行符 \n(当然 Linux 一些工具亦可完成) 于是我这样实现:
,
\n
File.open('example.txt','r+').each_line do |line| line.gsub!(/,/,"\n") end
可是操作后源文件没有任何改变,我知道有一种先读在写的方式可以实现并且已经实现了,但这种以读写方式打开的文件为何操作后没有任何改变?
sed 命令搞定不好么。。。。
根本没有做写入操作怎么变啊。
File.open('example.txt','r+'){|f| s="" f.eachline{|l| s+=l. gsub!(/,/,"\n")} f.write s }
大概这个意思吧
写两个方法辣
#第一个 def output(filename) str = "" File.open(filename,"r+"){|f| f.each_line{|line| str += line.gsub(/,/,"\n") } } str end result = output("example.txt") #第二个 def input(filename,str) File.open(filename,"w"){|f| f.write str } end input("example.txt",result)