当前位置: 首页 > 知识库问答 >
问题:

如何在YAML中转义指示符(冒号和连字符)

林建本
2023-03-14

在配置文件中,我有一个要分配URL的键。问题是YAML将字符解释为创建映射或列表,因此它的行有问题

url: http://www.some-site.example/

(都是因为HTTP后面有冒号,中间有连字符)

有没有一种明确的方法来转义-?还是将整个事情放在单引号中并收工?

共有3个答案

巫经义
2023-03-14

根据YAML规范,无论是还是-都不应该是问题只是一个键分隔符,后面有一个空格,-只是一个数组指示符,位于一行的开头,后面有一个空格。

但是,如果您的YAML实现存在问题,您可能有很多选择:

- url: 'http://www.some-site.example/'
- url: "http://www.some-site.example/"
- url:
    http://www.some-site.example/
- url: >-
    http://www.some-site.example/
- url: |-
    http://www.some-site.example/

然而,在“平淡风格”中,显然不可能有任何形式的转义。

魏安宁
2023-03-14

对于长的多行文本来说,更有效的方法是将文本缩进到下一行,在管道或大于号之后:

text: >
    Op dit plein stond het hoofdkantoor van de NIROM: Nederlands Indische 
    Radio Omroep

管道保留换行符,gt符号将以下所有行转换为一个长字符串

蓬新
2023-03-14

引用:

"url: http://www.some-site.example/"

为了澄清,我的意思是“引用值”,最初认为整个事情就是值。如果http://www.some-site.example/是值,就这样引用:

url: "http://www.some-site.example/"
 类似资料:
  • 在配置文件中,我有一个要分配URL的键。问题是YAML将:和字符解释为创建映射或列表,因此它的行有问题 (都是因为http后面的冒号和中间的连字符) 是否有明确的方法可以转义“:”和“-”?或者把整件事都放在单引号里,就这样结束了,这样行吗?

  • 问题内容: 我需要在我的应用程序中解析环境变量。所以我想知道在中哪些转义字符有效。我创建了一个测试目录,并在其中创建了一个测试脚本 。如果我用绝对路径调用它,它将运行。我只是想不通如何转义,因为我尝试用冒号转义并将其包装为单引号和双引号。但总是在我运行时找不到它。我正在运行CentOS 6。 问题答案: 根据POSIX标准,这是不可能的。这不是特定Shell的功能,PATH处理是在C库的execv

  • 问题内容: 如何在javadoc中转义符号?我正在尝试在标签内使用它。 我已经尝试了html转义序列,但是没有用。 问题答案: 使用javadoc标记: 为此的javadoc将显示为: 当然,这适用于 任何 字符,并且是显示任何“特殊”字符的“官方支持”方式。 这也是最简单明了-你不需要知道字符的十六进制代码, 并且 可以读取你输入什么!

  • 问题内容: 我想像这样在Bash中显示一个字符串 当然可以这样 但是如何在字符串周围使用单引号的同时完成此操作? 问题答案: 不起作用。但是以下工作原理: 在bash的手册页中: 即使在单引号之前加反斜杠,也不能在单引号之间引起单引号。 .... $’string’* 形式的单词经过特殊处理。该单词扩展为字符串,并按ANSI C标准的规定替换反斜杠转义字符。 *

  • 问题内容: 如何获得以下两个文本中引号之间的含义? 我的问题是,如果引号被转义,则应将其忽略,但是有可能使反斜杠转义。 我想获得以下团体。 问题答案: 匹配带引号的字符串,包括其中出现的所有转义字符。 说明:

  • 问题内容: 我有一个本机SQL查询,如下所示: 问题是,Hibernate的解释,,作为参数,并希望我们给值,, 但是我不想让Hibernate这样解释,所以我想逃避冒号。 怎么做 ? 问题答案: 在Hibernate中,转义以开头。但是在Java中,您还必须逃脱另一个。因此,所有内容都需要替换为。最后,您得到: