YAML中多行字符串的配置方法总结

简介: YAML中多行字符串的配置方法总结

有时候我们会在配置文件中设置一段文字说明,这时通常会出现两种需求:

  1. 文字中可能出现段落,希望在配置中按段落方式编写,显示打印的时候也能出现段落换行。
  2. 文字很长,为方便编辑,可能在配置文件中分段写,但是显示的时候不喜欢出现配置中的段落换行。

简单的说,就是:

  1. 配置与显示,都严格按段落展示
  2. 配置按段落,显示不需要按段落

假设,我们需要配置这样一段文字:

I am a coder.My blog is didispace.com.

下面,就针对上面的两种情况来看看可以怎么来实现:

配置与显示,都严格按段落展示

这个需求下,我们希望配置和显示都按句子换行,就是这样:

I am a coder.
My blog is didispace.com.

方法一:直接使用\n来换行

这样写:

string: "I am a coder.\n\
         My blog is didispace.com."

最终输出:

I am a coder.
My blog is didispace.com.

通过\n在显示的时候换行,通过配置行末的\让这个字符串换行继续写(这个必须有,如果没有第二行行首会多一个空格)。

注意:这里必须使用双引号来定义字符串,不能用单引号。因为单引号是不支持\n换行的。

方法二:使用|+|-

在方法一种,其实我们在文字中加入了几个转义符号,其实对于阅读并不方便。在方法二中,将介绍更适合阅读的几种形式:

string1: |
  I am a coder.
  My blog is didispace.com.
string2: |+
  I am a coder.
  My blog is didispace.com.
string3: |-
  I am a coder.
  My blog is didispace.com.

如上面一共有三种配置都会自动按配置中所写的换行来换行,但是在文末会有一些区别,有的会增加一个空行,有的不会,有的会新增两个空行,具体说明如下:

  • |:文中自动换行 + 文末新增一空行
  • |+:文中自动换行 + 文末新增两空行
  • |-:文中自动换行 + 文末不新增行

配置按段落,显示不需要按段落

这个需求下,我们希望配置里是按行写的,但是显示是如下面这样在一行的:

I am a coder.My blog is didispace.com.

方法一:直接在字符串中换行写

最粗暴的写法,反正不用换行,那就直接写了:

string: 'I am a coder.
         My blog is didispace.com.'

这里不论用双引号还是单引号都是可以的。因为不存在需要转移的内容,所以总体还算清晰。

方法二:使用>>+>-

比较好的表述方式就是使用>>+>-来定义,比如下面这几种:

string1: >
  I am a coder.
  My blog is didispace.com.
string2: >+
  I am a coder.
  My blog is didispace.com.
string3: >-
  I am a coder.
  My blog is didispace.com.

这三种都不会对配置中的换行进行实际换行,但是依然在文末的处理会有一些小区别,具体如下:

  • >:文中不自动换行 + 文末新增一空行
  • >+:文中不自动换行 + 文末新增两空行
  • >-:文中不自动换行 + 文末不新增行
目录
相关文章
|
9月前
|
XML JSON Java
SpringBoot入门(三) 之springboot的配置配置文件以及yaml的使用
SpringBoot入门(三) 之springboot的配置配置文件以及yaml的使用
167 0
SpringBoot入门(三) 之springboot的配置配置文件以及yaml的使用
|
9天前
|
存储 自然语言处理 Java
YAML的舞蹈:掌握Spring整合YAML配置的技术细节
YAML的舞蹈:掌握Spring整合YAML配置的技术细节
31 1
YAML的舞蹈:掌握Spring整合YAML配置的技术细节
|
9天前
|
Oracle 关系型数据库 MySQL
Flink CDC产品常见问题之从EARLIEST_OFFSET启动就报错如何解决
Flink CDC(Change Data Capture)是一个基于Apache Flink的实时数据变更捕获库,用于实现数据库的实时同步和变更流的处理;在本汇总中,我们组织了关于Flink CDC产品在实践中用户经常提出的问题及其解答,目的是辅助用户更好地理解和应用这一技术,优化实时数据处理流程。
|
9天前
|
机器学习/深度学习 JavaScript 前端开发
「译文」如何在 YAML 中输入多行字符串?
「译文」如何在 YAML 中输入多行字符串?
|
9天前
|
Java
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
Java【代码分享 11】yaml配置List和Map参数对象的配置信息及类文件实例分享(效仿GatewayDynamic+DynamicDataSource的注入方法)
59 0
|
5月前
|
存储 Kubernetes Perl
k8s(10)声明式对象配置--yaml文件
k8s(10)声明式对象配置--yaml文件
63 0
|
7月前
|
测试技术 持续交付
SAP UI5 Tools 里配置文件 ui5-local.yaml 的配置要点
SAP UI5 Tools 里配置文件 ui5-local.yaml 的配置要点
71 0
|
9月前
|
存储 Java 开发者
Spring Boot中的yaml配置简介
Spring Boot中的yaml配置简介
|
11月前
|
XML JSON Java
【SpringBoot学习笔记 二】YAML格式文件配置方式详解
【SpringBoot学习笔记 二】YAML格式文件配置方式详解
457 0
|
Java Spring
spring的yaml配置
spring的yaml配置
88 0