当前位置:网站首页>YAML中多行字符串的配置方法:|+、 |、 |-、 >+、 >、 >-的区别
YAML中多行字符串的配置方法:|+、 |、 |-、 >+、 >、 >-的区别
2022-08-03 18:35:00 【学亮编程手记】
YAML中多行字符串的配置方法
有时候我们会在配置文件中配置一段文字说明,这种时候通常会出现两种需求:
- 文字中可能出现段落,希望在配置中按段落方式编写,显示打印的时候也能出现段落换行。
- 文字很长,为方便编辑,可能在配置文件中分段写,但是显示的时候不喜欢出现配置中的段落换行。
简单的说,就是:
- 配置与显示,都严格按段落展示
- 配置按段落,显示不需要按段落
假设,我们需要配置这样一段文字:
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换行的。
方法二:使用|、|+、|-
在方法一种,其实我们在文字中加入了几个转义符号,其实对于阅读并不方便。在方法二中,将介绍更适合阅读的几种形式:
string: |
I am a coder.
My blog is didispace.com.
string: |+
I am a coder.
My blog is didispace.com.
string: |-
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.'复制代码这里不论用双引号还是单引号都是可以的。因为不存在需要转移的内容,所以总体还算清晰。
方法二:使用>、>+、>-
比较好的表述方式就是使用>、>+、>-来定义,比如下面这几种:
string: >
I am a coder.
My blog is didispace.com.
string: >+
I am a coder.
My blog is didispace.com.
string: >-
I am a coder.
My blog is didispace.com.复制代码这三种都不会对配置中的换行进行实际换行,但是依然在文末的处理会有一些小区别,具体如下:
>:文中不自动换行 + 文末新增一空行>+:文中不自动换行 + 文末新增两空行>-:文中不自动换行 + 文末不新增行
边栏推荐
- CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes!) A-E
- online 方式创建索引触发trigger怎么办?
- 技术开发人员常用的安全浏览器
- Intelligent security contract - delegatecall (2)
- POJ 1465 Multiple(用BFS求能组成的n的最小倍数)
- Difference差分数组
- Postgresql 备份大小情况!
- pydev debugger: warning: trying to add breakpoint to file that does not exist: /tmp/xxx
- sys文件系统
- 货比四家 version tb1.63
猜你喜欢

【Azure 事件中心】使用Azure AD认证方式创建Event Hub Consume Client + 自定义Event Position

U-Net生物医学图像分割讲解(Convolutional Networks for BiomedicalImage Segmentation)

开篇-开启全新的.NET现代应用开发体验

程序员如何分分钟搞垮一个项目?

微信小程序分享功能

CodeTON Round 2 (Div. 1 + Div. 2, Rated, Prizes), problem: (D) Magical Array

B628芯片电路图,B628升压IC的PCB布局PCB

在线监控机房内的UPS电源及运行环境,解决方案来了

阿里资深专家打造从零开始学架构,含阿里内部技术栈PPT、PFD实战

阿里资深架构师钟华曰:中台战略思想与架构实战;含内部实施手册
随机推荐
PHP Basic Notes-NO.2
unity3d-游戏物体控制方法
ASA归因:如何评估关键词的投放价值
Flask框架——项目可安装化
【ORACLE】什么时候ROWNUM等于0和ROWNUM小于0,两个条件不等价?
flink-sql 客户端,咋回事 我show tables 报错
POJ 1465 Multiple(用BFS求能组成的n的最小倍数)
MD5是对称加密还是非对称加密,有什么优缺点
fatal error: jni.h: No such file or directory
WEB 渗透之CSRF
有人知道flink sql 使用tableEnv.executeSql执行后,怎么获取到任务运行的
MPLS的简单应用于实验
6000 字+,帮你搞懂互联网架构演变历程!
Arduino实验三:继电器实验
Mkke:为什么无法从Oracle 11g或12c升级到Oracle 23c?
201709-3 CCF jason查询 (满分题解)
MD5是对称加密还是非对称加密,有什么优缺点
常见荧光染料修饰多种基团及其激发和 发射波长数据一览数据
动态接口比例性能测试实践
online 方式创建索引触发trigger怎么办?
https://juejin.cn/post/6844903972688363534