多行无空格的Goovy字符串输出

问题描述 投票:0回答:1

我有以下包含很多字符的字符串作为 Groovy 的示例:

def test = '''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
              bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
              cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'''    
println test

电流输出

'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
               bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
               ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

预期输出:

我该如何修改它,而不是像这样打印,这样第 2 行和第 3 行左边就不会有空格?

 aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
 bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
 ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

我发现了行继续符 \ 但它似乎并没有以预期的方式影响输出。

我也至少这样尝试过:

def test = 'aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa' +
            'bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb' +
            'cccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'    

println test

输出为:

aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaabbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbcccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc

我的实际用例将是针对几个参数写入 Jenkinsfile 的较长描述,并且最初在 Jenkins 管道上遇到了这个问题,但用这个简短的 Groovy 示例进行了复制。

string jenkins groovy jenkins-pipeline jenkins-groovy
1个回答
0
投票

您有几个选择:

  1. 只是不要在编辑器中排列字符串:
def test = '''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'''
  1. 使用 stripMargin 和
    |
    字符:
def test = '''aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
             |bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
             |ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'''.stripMargin()    
  1. 使用 stripIndent 和转义字符:
def test = '''\
             aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa
             bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb
             ccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccccc'''.stripIndent()    
© www.soinside.com 2019 - 2024. All rights reserved.