我想编辑以下文本,以便每一行都以Dealer开头:这意味着没有换行符/换行符对于以系统开始的行,包装是可以的。
ruby中的解决方案是什么样子的谢谢
它位于.txt文件中
经销商:还剩5秒行动
经销商:hitman2714赢得奖金(9)
经销商:hand 1684326626D
经销商:Guitou699还有5秒
行为
经销商:吉他u699已超时
经销商:baj Hasan还有5秒
行为
经销商:baj Hasan已经超时
经销商:hitman2714还有5秒
行动
经销商:hitman2714已超时
系统:每晚10000美元的保证
20分钟后开始
经销商:经销商:Hand#1684326626D
经销商:个人贴大
25盲
期望输出:
经销商:还剩5秒行动
经销商:hitman2714赢得奖金(9)
经销商:hand 1684326626D
经销商:Guitou699还有5秒时间
经销商:吉他u699已超时
经销商:baj hasan还有5秒时间行动
经销商:baj Hasan已经超时
经销商:hitman2714还有5秒
行动
经销商:hitman2714已超时
系统:每晚10000美元的保证
20分钟后开始
经销商:经销商:Hand#1684326626D
经销商:Perspextive贴吧25的大瞎子

最佳答案

remove_newline = false

ARGF.each_line do |line|
    if line =~ /^(Dealer|System): /
        puts if remove_newline
        remove_newline = ($1 == 'Dealer')
    end
    line.sub!(/\n/, ' ') if remove_newline
    print line
end

如果不介意删除“系统”行上的包装,并且文件足够小,则可以执行以下操作:
puts ARGF.readlines.join('').gsub(/\n(?!Dealer: |System: )/, ' ')

10-08 04:24