我有一个文本文件,这样行许多1000,这是类的描述与括号括起来解析“说明(标记)”,以“说明,标签”
Chemicals (chem)
Electrical (elec)
我的关键字更好的办法需要将这些行逗号分隔值转换就像这样:
Chemicals, chem
Electrical, elec
我现在用的就是这样的:
lines = line.gsub!('(', ',').gsub!(')', '').split(',')
我想知道是否有更好的方法来做到这一点。
留给后人,这是完整的代码(基于答案)
require 'rubygems'
require 'csv'
csvfile = CSV.open('output.csv', 'w')
File.open('c:/categories.txt') do |f|
f.readlines.each do |line|
(desc, cat) = line.split('(')
desc.strip!
cat.strip!
csvfile << [desc, cat[0,cat.length-1]]
end
end
为什么你在最后使用他拆分方法?将实际创建一个像'[描述,关键词]' – robertodecurnex 2011-06-08 14:08:21
@NeX数组通过创建一个数组,我可以做一个csvfile <<线,其中csvfile是CSV.open,将采取一切逃跑的照顾。 – 2011-06-08 17:51:53
@sawa你是对的。多年来向初学者解释的东西让我习惯于用圆括号,大括号,尖括号和方括号来表示。 – 2011-06-08 17:54:16