所以我有以下代码逐行读取文本文件.每条线以回车架结束.以下代码输出以下内容:
define host {
use servers
host_name ["buffy"]
alias ["buffy"]
address ["buffy"].mydomain.com
}
Run Code Online (Sandbox Code Playgroud)
如何摆脱括号和引号?
File.open('hosts','r') do |f1|
while line = f1.gets
data = line.chomp.split("\n")
File.open("nagios_hosts.cfg", "a") do |f|
f.puts "define host {\n";
f.puts "\tuse servers\n"
f.puts "\thost_name #{data}"
f.puts "\talias #{data}"
f.puts "\taddress #{data}.mydomain.com"
f.puts "\t}\n\n"
end
end
end
Run Code Online (Sandbox Code Playgroud)
你可以使用
#{data[0]}
Run Code Online (Sandbox Code Playgroud)
而不是#{data}
那是因为split创建了一个字符串数组.
但是,如果您真的想要简单地获取没有尾随行的行,则可以使用strip方法.