我刚刚开始使用Ruby,我的第一个程序从一个txt文件读取并将每行的修改版本打印到另一个。这个想法是为了得到这个:
- Book Title *Book Author*
对此:
Book Title Book Author
我的代码如下所示:
listold = File.open('listas.txt', 'r+')
listnew = File.new('lista.txt', 'w+')
listold.each_line {|line|
nome, autor = line.split(' *')
nome['- '] = ' '
autor = autor.chomp('*')
listnew.puts nome << "\t" << autor
}
我遇到的问题是它只适用于文件的最后一行。对于其他的,\t
间距非常小,最后一个*不会被切断。有人能帮助我吗?
答案 0 :(得分:1)
您的分组符合空格,后跟*。
您可能希望拆分'*'而不是'*'。
我尝试了你的代码,它适用于我的测试文件的每一行。