как избежать двойных кавычек через запятую из файла yaml - PullRequest
0 голосов
/ 30 апреля 2019

Я хочу экранировать запятую, пробел и двойные кавычки из файла YAML.
Как я могу это сделать?

Ответы [ 2 ]

1 голос
/ 30 апреля 2019

Есть несколько способов включить эти три символа в скаляр YAML, но если вы хотите сделать это с помощью экранирования, вы должны понимать, , что вы можете избежать только двойной кавычки , а не запятой или пробела .

Для этого вам нужно использовать скаляр в двойных кавычках:

"this is a YAML document, with embedded space, comma and escaped double quote (\")"

Если, однако, ваши пробелы находятся не в начале или в конце, а ваша двойная кавычка не в начале скаляра, вам вообще не нужны кавычки. Вышесказанное эквивалентно простому скаляру:

this is a YAML document, with embedded space, comma and escaped double quote (")

Простые скаляры имеют некоторые ограничения, например, Вы не можете иметь какие-либо специальные символы, которые начинают специальные конструкции (среди прочих {, [, & и *) в начале, что-то похожее на начало комментария (пробел + # ) или индикатор значения (:, за которым следует пробел) в середине простого скаляра.

Существуют также литеральные и сложенные скаляры с одинарными кавычками и блочными стилями со своими правилами.

Если вы не уверены, я рекомендую использовать двойные кавычки. Если вы загрузите-затем-дампите этот YAML, ваша библиотека, скорее всего, удалит лишние кавычки при первом выполнении.

0 голосов
/ 30 апреля 2019

Вы можете сделать это, используя одинарные кавычки:

test: '"this will  store just find!'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...