说我有以下字符串:有没有办法来表示在YAML文档的多行上没有任何空格的长字符串?
"abcdefghijklmnopqrstuvwxyz"
,我认为它的一个行太长我YAML文件,是有一些方法来拆分几行?
>-
abcdefghi
jklmnopqr
stuvwxyz
会导致"abcdefghi jklmnopqr stuvwxyz"
这是接近的,但它不应该有任何空格。
说我有以下字符串:有没有办法来表示在YAML文档的多行上没有任何空格的长字符串?
"abcdefghijklmnopqrstuvwxyz"
,我认为它的一个行太长我YAML文件,是有一些方法来拆分几行?
>-
abcdefghi
jklmnopqr
stuvwxyz
会导致"abcdefghi jklmnopqr stuvwxyz"
这是接近的,但它不应该有任何空格。
使用双引号,然后转义换行符:
"abcdefghi\
jklmnopqr\
stuvwxyz"
有一些细微之处杰西的答案就会错过。
YAML(与许多编程语言一样)以不同的方式处理单引号和双引号。审议本文件:
regexp: "\d{4}"
这将失败与错误,如解析:
发现未知的转义字符,而在1号线列解析引述标9
与此相比,到:
regexp: '\d{4}'
这将解析正确。为了使用双引号字符串中的反斜杠字符,你需要逃避它们,如:
regexp: "\\d{4}"
我还想强调史蒂夫的关于单引号字符串评论。审议本文件:
s1: "this\
is\
a\
test"
s2: 'this\
is\
a\
test'
当解析,你会发现,它相当于:
s1: thisisatest
s2: "this\\ is\\ a\\ test"
这是一份YAML把单引号字符串为文字,而双事实的直接结果引用的字符串受制于转义字符扩展。
单引号也似乎工作,所有缩进(甚至不等于缩进)似乎被剥夺。谢谢! – quornian 2014-04-23 21:36:09
我在傀儡“Hiera”中使用YAML,单引号不起作用,因为他们至少不会将荣誉\作为RUBY YAML中的转义字符。没有用其他YAML解析器进行测试。 – Walid 2015-01-04 10:17:37
请参阅[此其他StackOverflow答案](http://stackoverflow.com/questions/3790454/in-yaml-how-do-i-break-a-string-over-multiple-lines/21699210#21699210)为好概述了YAML中所有不同的包装样式。 – 2016-05-09 21:53:21