【问题标题】:How to prevent quote signs in File.readlines如何防止 File.readlines 中出现引号
【发布时间】:2011-08-29 18:36:06
【问题描述】:

例如,我有文件file_name 包含这样的内容:

Just some text,
nothing more

然后我运行这样的代码:

lines = File.open(file_name, "r").readlines
# do something do with lines
File.open(file_name, "w").write(lines)

我会收到这段文字

"Just some text,"
"nothing more"

如何防止"在这里签名?我想要不带引号的文字。谢谢

【问题讨论】:

  • 你不应该得到那些。你确定你的“用线条做事”块中的某些东西没有添加引号吗?如果您按照引用的方式运行程序,您会得到引号吗? (我没有。)

标签: ruby string file


【解决方案1】:

如果你只关心每一行的引号

好的,我们再试一次

lines.gsub(/^"|"$/, '')

应该工作

【讨论】:

    【解决方案2】:

    如果您使用的是 ruby​​ 1.9.2,Array#to_s 的工作方式类似于 Array#inspect。试试这个(一些风格调整):

    lines = File.readlines(file_name)
    File.open(file_name, 'w') { |f| f.write(lines.join) }
    

    【讨论】:

    • 不应该是lines.join("\n")吗?
    • 否,因为 readlines 读取的行包含行尾,
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 2022-07-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-22
    • 1970-01-01
    相关资源
    最近更新 更多