如何在Groovy中编写中间包含双引号的字符串
Groovy 写入特殊字符字符串的正确方法
你需要写入的目标文本为hfjfhbj"v\hbfjh,可通过以下几种方案实现:
你之前写法的错误原因
- 第一种写法多了不属于目标内容的
|字符,不符合预期 - 第二种写法仅对双引号前的反斜杠做了转义,后续
\h中的反斜杠没有转义,导致解析异常
方案1:使用单引号字符串(无需转义双引号)
单引号字符串中的双引号会被识别为普通字符,仅需要转义反斜杠即可:
def content = 'hfjfhbj"v\\hbfjh'
方案2:使用双引号字符串
双引号字符串需要同时转义双引号和反斜杠:
def content = "hfjfhbj\"v\\hbfjh"
方案3:使用斜杠字符串(最推荐)
Groovy 提供的斜杠字符串以/作为边界,除正斜杠外的特殊字符无需额外转义,直接写原始内容即可,写法最简洁:
def content = /hfjfhbj"v\hbfjh/
方案4:使用三重引号字符串
如果文本包含多行内容也可以使用三重引号,单三重引号同样不需要转义双引号,仅转义反斜杠即可:
def content = '''hfjfhbj"v\\hbfjh'''
以上所有写法执行println content都可以输出你需要的目标文本。
内容的提问来源于stack exchange,提问作者ronnieotieno
相关产品推荐
相关产品推荐

