读取行、更改和删除 Ruby
Read Lines, Change & Delete Ruby
我有一个文件想在 Ruby 中操作。我相信这应该很容易,但因为我是新手所以找不到它。在这些行中,我有一些数据,例如;
Bassmaster Boats Inc#Bassmaster Boats Inc
Basstream#Basstream
Bat Inflatable Boats#Bat Inflatable Boats
Bavaria Motoryachts#Bavaria Motoryachts
Bavaria Sailing Yachts#Bavaria Sailing Yachts
Bay Craft Inc#Bay Craft Inc
Bay Hawk Industries Inc#Bay Hawk Industries Inc
Bay Quest#Bay Quest
Bay Warrior Boats#Bay Warrior Boats
Bay Water Boats#Bay Water Boats
Bayfield Boat Yard Ltd#Bayfield Boat Yard Ltd
Bayliner Marine Corp#Bayliner Marine Corp
Baymaster Boats Inc#Baymaster Boats Inc
Baymaster by Dargel#Baymaster by Dargel
Bayon#Bayon
Bayrunner#Bayrunner
我想做的是找到单词和 puts +
之间的空格 - 如果有的话 - 并删除 #
符号后的任何内容。所以它应该看起来像 ;
Bassmaster+Boats+Inc
Basstream
Bat+Inflatable+Boats
Bavaria+Motoryachts
Bavaria+Sailing+Yachts
.....
.....
.....
提前致谢
正则表达式
我建议您使用 regular expression 来查找匹配项。
# 符号后的字符串
#.*
空格
</code> OR <code>\s
(也匹配制表符)
替换为 Ruby
您可以将匹配的字符串替换为 gsub!
。
s.gsub!(/#.*/, '').gsub!(/ /, '+')
做如下:
File.open("another/file", "w") do |file|
File.foreach("filename") do |line|
line[/(#.*)/] = ""
file.puts line.gsub(\s+\, "+")
end
end
我有一个文件想在 Ruby 中操作。我相信这应该很容易,但因为我是新手所以找不到它。在这些行中,我有一些数据,例如;
Bassmaster Boats Inc#Bassmaster Boats Inc
Basstream#Basstream
Bat Inflatable Boats#Bat Inflatable Boats
Bavaria Motoryachts#Bavaria Motoryachts
Bavaria Sailing Yachts#Bavaria Sailing Yachts
Bay Craft Inc#Bay Craft Inc
Bay Hawk Industries Inc#Bay Hawk Industries Inc
Bay Quest#Bay Quest
Bay Warrior Boats#Bay Warrior Boats
Bay Water Boats#Bay Water Boats
Bayfield Boat Yard Ltd#Bayfield Boat Yard Ltd
Bayliner Marine Corp#Bayliner Marine Corp
Baymaster Boats Inc#Baymaster Boats Inc
Baymaster by Dargel#Baymaster by Dargel
Bayon#Bayon
Bayrunner#Bayrunner
我想做的是找到单词和 puts +
之间的空格 - 如果有的话 - 并删除 #
符号后的任何内容。所以它应该看起来像 ;
Bassmaster+Boats+Inc
Basstream
Bat+Inflatable+Boats
Bavaria+Motoryachts
Bavaria+Sailing+Yachts
.....
.....
.....
提前致谢
正则表达式
我建议您使用 regular expression 来查找匹配项。
# 符号后的字符串
#.*
空格
</code> OR <code>\s
(也匹配制表符)
替换为 Ruby
您可以将匹配的字符串替换为 gsub!
。
s.gsub!(/#.*/, '').gsub!(/ /, '+')
做如下:
File.open("another/file", "w") do |file|
File.foreach("filename") do |line|
line[/(#.*)/] = ""
file.puts line.gsub(\s+\, "+")
end
end