1

次のような文字列があります。

test_string = "This is a multiple line string \n  
containing new line characters. \n  
Another new line."

to_yaml 関数を使用して複数行の yaml 文字列に変換しようとしていますが、改行文字が自動的にエスケープされます。

test_string.to_yaml

出力:

=> "--- ! This is a multiple line string \\ncontaining new line characters.
 \\nAnother new line."

"\n"含む文字列を作成して yaml に解析するに はどうすればよいですか?

編集: "\n" の前にスペースを置くと、to_yaml 関数は改行をエスケープします。次の文字列で問題が解決しました。

test_string = "This is a multiple line string\n 
containing new line characters.\n 
Another new line."
4

2 に答える 2

2

YAML は、空行 (2 つの連続する改行) を \n と同等として扱います。http://yaml.org/spec/history/2001-08-01.htmlから

同じ問題があり、最終的に解決策を見つけました: s.replaceAll("\n", " \n\n ");

于 2013-11-11T16:45:31.670 に答える