用Ruby将带有特殊字符的字符串写入文件

用Ruby将带有特殊字符的字符串写入文件,ruby,special-characters,Ruby,Special Characters,我正在使用Ruby脚本处理一些文本文件。基本上,读取每一行,有时进行一些操作,然后将该行写入输出文本文件 这很有效,除非原始行中有新行\n字符。在这种情况下,脚本将“执行”新行,而不是逐字复制它 编辑 # output code: modified_line # => "hello\nworld" output.write(modified_line) # will output hello world # output I am looking for: hello\nworld

我正在使用Ruby脚本处理一些文本文件。基本上,读取每一行,有时进行一些操作,然后将该行写入输出文本文件

这很有效,除非原始行中有新行
\n
字符。在这种情况下,脚本将“执行”新行,而不是逐字复制它

编辑

# output code:
modified_line # => "hello\nworld"

output.write(modified_line) # will output
hello
world

# output I am looking for:
hello\nworld

如何让Ruby一字不差地编写字符串变量,而忽略任何包含的特殊字符?

假设您执行一些
文件。编写(字符串变量)

Use将希望使用转义所有特殊字符的。正如文档中所说:

生成所有非打印字符替换为的str版本 \nnn符号和所有特殊字符转义

所以你的代码看起来像

file.write(string_variable.dump)

你能展示一些代码吗?输出到文本文件.的部分对我有用:-)但是说真的,没有看到它,我不知道你的代码为什么会这样。请提供答案。您希望在不显示代码的情况下收到什么答案?向我们展示你的代码。这些代码确实很小,但它既不完整,也不可验证。
修改行的(内容)是什么,它是如何在您的
输出文件中结束的,以及预期的输出是什么?“脚本将”执行“新行”是什么意思?如果逐行读取文件,原始行如何包含第二个新行字符?可能文件使用了不同的行分隔符,或者您正在插入换行符,而不是文本
\
n
。不管是哪种方式,你都应该设法解决根本原因,而不是逃避整个过程。谢谢。这就是我要找的。这个符号可能与接收程序的期望值相匹配,也可能不匹配,所以请检查您是否正确转义。@Stefan我认为使用
execute
他是指在文件中每隔
\n
一行被拆分为一个新行。实际上,编辑澄清了这一点。我已经删除了我的评论。