说我有以下字符串:
"abcdefghijklmnopqrstuvwxyz"
我认为我的YAML文件中的一行太长了,有没有办法将它分成几行?
>-
abcdefghi
jklmnopqr
stuvwxyz
会导致"abcdefghi jklmnopqr stuvwxyz"
接近,但不应该有任何空格。
答案 0 :(得分:25)
使用双引号,并转义换行符:
"abcdefghi\
jklmnopqr\
stuvwxyz"
答案 1 :(得分:6)
杰西的回答有些微妙之处。
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将单引号字符串视为文字的直接结果,而双引号字符串则受转义字符扩展的影响。