我如何通过新线加入

Nic*_*ilt 27 ruby

我正在阅读一个包含源代码的文件.我需要在每行之前追加2个空格.这就是我在做的事情.

data = read_file
data.split(/\n/).collect {|l| '  ' + l}.join('\n')
Run Code Online (Sandbox Code Playgroud)

然而,当我加入后,它会打印\n字面上并且它不是换行符.我该如何解决这个问题?

Vee*_*eti 66

您需要使用双引号(")而不是单引号.所以替换这个:

'\n'
Run Code Online (Sandbox Code Playgroud)

有了这个:

"\n"
Run Code Online (Sandbox Code Playgroud)

在这里阅读更多相关信息.

你可能想使用\r\n,如果你希望你的行结束是不是CRLF代替LF(某些Windows编辑器如记事本将不会看到一个LF换行符).