好的,我尝试从文件中删除包含 -- 的行。该文件如下所示:
-----------------------------------------------------------------
Lorem ipsum....
Text.....
我的代码:
f = File.open('C:\websites\ahr.txt')
f.each_line do |line|
if line.include? '-'
a = line
line.delete a
end
end
f = File.close
但这行不通!我收到此错误:
file.rb:5:in `delete': invalid range "-- (ArgumentError)
" in string transliteration
from file.rb:5:in `block in <main>'
from file.rb:2:in `each_line'
from file.rb:2:in `<main>'
这是怎么回事?
发生什么了?
像这样的东西:
line = "-----------------------------------\n"
=> "-----------------------------------\n"
a = line
=> "-----------------------------------\n"
line.delete a
ArgumentError: invalid range "--
" in string transliteration
提出的错误delete
方法是因为破折号用于特殊字符范围语法:
"hellob".delete "a-e"
=> "hllo"
也许您希望采取不同的方法来解决您的目标,但很难说出您想要什么,因为一旦删除行,您就不会显示您想要对数据执行的操作。简单地处理line
变量只是意味着你有一个改变String
在那时候。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)