Как разбить строку в YAML на несколько строк

Опубликовано: 27 Февраля, 2023
Как разбить строку в YAML на несколько строк

Наличие длинной строки в YAML — неприятная проблема. В основном вы хотите, чтобы ваша строка была видна вашему редактору. Это не проблема, которую вы не можете решить! YAML позволяет разбивать строку на несколько строк, что может быть полезно, когда строка слишком широка для вашего экрана.

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

Что такое строка YAML?

YAML — это удобочитаемый формат сериализации данных. Вы можете использовать его для хранения данных для программ. Вы также можете часто использовать файлы YAML для хранения файлов конфигурации. YAML позволяет разбить строку на несколько строк. Это может быть полезно, когда строка слишком широка для вашего экрана. Кроме того, в Python вы можете заключить строку в тройные кавычки, чтобы разделить ее на несколько строк.

YAML приобрел популярность как альтернатива для тех, кто ищет больший контроль над своими форматами, такими как JSON или XML. Его возможности сериализации объектов также облегчают задачу, когда вам нужно упаковать определенные типы информации в один файл без потери какой-либо части оригинала.

Теперь я объясню методы, которые вы можете использовать для записи многострочных строк в YAML.

Методы записи многострочных строк в YAML

Вы можете писать многострочные строки в YAML двумя распространенными способами:

  1. Блочный скалярный формат
  2. Скалярный формат потока

Хотя оба способа имеют свои преимущества и недостатки, один из них может быть более подходящим для ваших целей. Это зависит от типа данных, с которыми вы имеете дело. Узнайте, какой из них лучше всего подходит для ваших конкретных потребностей ниже. Сначала я объясню блочный скалярный формат и его 3 части.

1. Блочный скалярный формат

Блочный скалярный формат управляет тем, как вы интерпретируете новые строки. Это позволяет легко получить результат, отличный от ожидаемого. Скалярный заголовок блока состоит из 3 частей:

1. Индикатор стиля блока

Индикатор блочного стиля показывает, как новые строки ведут себя внутри блока. Он имеет 2 стиля:

  1. Буквальный стиль [обозначается вертикальной чертой (|)]
  2. Сложенный стиль [обозначен правой угловой скобкой (>)]

Вы должны сделать отступ содержимого блочного скаляра до уровня, указанного в его метаданных. Эти измерения не включают начальные пробелы.

Каждый скаляр блока имеет содержимое с отступом. Начальные пробелы также включаются до уровня отступа скаляра. Вы можете отрегулировать этот уровень в каждой строке, добавив или удалив начальные нули, в зависимости от того, что вы предпочитаете: четкость или использование пространства.

Изображение 79

Пример

  • Буквальный

| # Пустой заголовок↓

  • Сложенный

>1 # Индикатор отступа↓

{ «буквальный »,

” сложенный “}

2 . Индикатор блокировки блоков (>-, |-, >+, |+)

Изображение 80

Индикатор chomping отвечает за то, что происходит с новыми строками в конце строки. Он имеет 3 метода жевания:

  1. Clip: добавляет новую строку в конец строки.

c-chomping-indicator(CLIP)::= ""

  1. Strip: [обозначается (-)] Удаляет все новые строки.

c-chomping-indicator(STRIP)::= '-'

  1. Сохранить: [обозначено (+)] Отслеживает все добавленные новые строки.

c-chomping-indicator(KEEP)::= '+'

Примеры

  • полоса: |-

текст↓

  • клип: |

текст↓

  • сохранить: |+

текст↓

{ «полоса»: «текст»,

«клип»: «текст »,

«сохранить»: «текст » }

3 . Индикатор отступа

Отступы имеют решающее значение для написания чистого и хорошо отформатированного кода. Например, предположим, что вы хотите, чтобы ваши блоки оставались хорошо выровненными. В этом случае они должны иметь подходящее количество мест. Вы также должны устанавливать отступы в своих блоках точно так же, как их заголовки — от 1 до 9 для обычных отступов или уникальный значок, если вместо этого вы используете новый отступ.

Каждый скаляр блока имеет уровень отступа содержимого. Сумма, указанная во входном предложении, отступает от пробела каждой строки до этой точки. Тем не менее, все, что после отступа, начинает новые строки без дополнительных начальных пробелов на них, пока мы не достигнем расстояния переноса в 1000 символов на абзац или меньше.

Уровень отступа блочного скаляра — это количество пробелов с отступом . Элемент содержимого с символом-индикатором устанавливает свой уровень равным этому значению плюс один пробел, если в правилах CSS или HTML не указано иное.

c-индикатор отступа::=

[x31-x39] #1-9

Пример

обнаружен

·

· # обнаружено

  • |1

·явный

  • обнаружен

["обнаружено ",

" # обнаружено ",

” явно “,

« обнаружено » ]

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

2. Скалярный формат потока

Скалярный формат потока — это новый способ написания CSS. Он позволяет гораздо более лаконично объявлять переменные, вложенность и другие функции. Вы также можете выиграют от современных процессоров, использующих этот формат. Это делает ваш код быстрее и эффективнее.

Изображение 81

Скалярный формат потока имеет 3 типа:

1 . Одиночные кавычки

В YAML вы можете использовать строки в одинарных кавычках, чтобы синтаксический анализатор YAML не интерпретировал специальные символы. Это может быть полезно, если вы хотите включить в строку такой символ, как апостроф.

Пример

'Несколько строк текста,

  • · содержащие «одинарные кавычки». Экранирование (например, ) ничего не делает.
  • ·
  • ·Оставьте пустую строку, чтобы добавить новые строки.
  • ···Начальные пробелы в строках игнорируются.'

Результат

Несколько строк текста содержат одинарные кавычки. Экранирование (например, ) ничего не делает.

Оставьте пустую строку, чтобы добавить новые строки. Ведущие пробелы в строках игнорируются.

2 . Двойные кавычки

Вы можете использовать строки в двойных кавычках, чтобы включить в строку специальные символы. YAML будет интерпретировать специальные символы в строке независимо от того, заключаете ли вы ее в одинарные или двойные кавычки.

Пример

«Несколько строк текста,

  • ·содержащие ”двойные кавычки”. Экранирование (например, \n) работает. Кроме того,
  • · новые строки могут быть esc\n
  • ·aped, чтобы предотвратить их преобразование в пробел.
  • ·
  • ·Оставьте пустую строку, чтобы добавить новые строки.
  • ···Начальные пробелы в строках игнорируются.”

Результат

Несколько строк текста, содержащих «двойные кавычки». Экранирование (например, ) работает.

Вы также можете экранировать новые строки, чтобы предотвратить их преобразование в пробел.

Оставьте пустую строку, чтобы добавить новые строки. Ведущие пробелы в строках игнорируются.

3. Простой

Обычные строки — это обычные строки, не содержащие никаких специальных символов. Они также имеют ограниченное экранирование и могут создавать однострочные строки без символов новой строки.

Пример

Несколько строк текста,

  • ·с некоторыми «кавычками» различных «типов».
  • · Экранирование (например, ) ничего не делает.
  • ·
  • ·Оставьте пустую строку, чтобы добавить новые строки.
  • ···Дополнительные начальные пробелы игнорируются.

Результат

Несколько строк текста с несколькими «кавычками» разного «типа». Экранирование (например, ) ничего не делает.

Оставьте пустую строку, чтобы добавить новые строки. Дополнительные начальные пробелы игнорируются.

Теперь я собираюсь перечислить, что вам нужно для процесса разрыва струны.

  • Текстовый редактор
  • Онлайн-валидатор YAML
  • Знание основных концепций компьютерного программирования

После проверки того, что вам нужно, я объясню четырехэтапный процесс:

  1. Добавьте обратную косую черту () после восклицательного знака (!), чтобы разорвать строку.
  2. Сохраните изменения
  3. Откройте файл в онлайн-валидаторе YAML.
  4. Нажмите кнопку Подтвердить
  5. Проверьте, действителен ли ваш код ( зеленое сообщение Valid YAML =valid/ red Invalid YAML=invalid)

Нижняя линия

Чтобы разбить строку на несколько строк в YAML, вы должны использовать разрывы строк Unicode (u+2026). Это позволяет вам писать длинные строки, не обрезая их на экране. Я показал вам, как это сделать, на своих примерах в этой статье. Я также обсудил 2 метода записи многострочных строк и различные типы для каждого метода. Это удобный способ знать, когда вам нужно отформатировать большие блоки текста.

Есть еще вопросы о строках YAML? Ознакомьтесь с разделами часто задаваемых вопросов и ресурсов ниже!

Получите последние технические новости здесь

Часто задаваемые вопросы

Поддерживает ли YAML многострочные строки?

Да, YAML позволяет разбивать строку на несколько строк. Это может быть полезно, когда строка слишком широка для вашего экрана. Вы также можете сделать это, используя 2 метода: скаляр блока и скаляр потока.

Как разделить строку YAML на несколько строк?

Чтобы разбить строку на несколько строк, используйте разрывы строк Unicode (u+2026). Эти перерывы являются невидимыми символами, которые вы можете использовать, чтобы указать, где вы должны разорвать строку.

Как избежать кавычек в YAML?

Чтобы избежать буквальной двойной кавычки в строках с одинарными кавычками, вы можете использовать символ обратной косой черты () и следовать за ним другим экземпляром. Экранирование кавычек для встроенных выражений также похоже на то, как вы экранируете их в тексте с двойными кавычками.

Что такое символ трубы в YAML?

Символ вертикальной черты («|») в YAML сохраняет новые строки без изменений. Это означает, что вы должны интерпретировать любой текст с отступом, следующий за ним, как многострочное скалярное значение. Узнайте больше об этом буквальном стиле здесь.

Что такое скаляр в YAML?

Скаляр — это термин YAML для одного значения. В YAML скаляры могут быть строками, числами, логическими значениями или нулевыми значениями. Строки заключены в кавычки, числа не заключены в кавычки, логические значения являются «истинными» или «ложными», а символ «нуль» представляет ноль.