2011-06-07 95 views

回答

21

使用双引号,然后转义换行符:

"abcdefghi\ 
jklmnopqr\ 
stuvwxyz" 
+0

单引号也似乎工作,所有缩进(甚至不等于缩进)似乎被剥夺。谢谢! – quornian 2014-04-23 21:36:09

+4

我在傀儡“Hiera”中使用YAML,单引号不起作用,因为他们至少不会将荣誉\作为RUBY YAML中的转义字符。没有用其他YAML解析器进行测试。 – Walid 2015-01-04 10:17:37

+0

请参阅[此其他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

1

有一些细微之处杰西的答案就会错过。

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把单引号字符串为文字,而双事实的直接结果引用的字符串受制于转义字符扩展。

相关问题