加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

在groovy多行字符串中删除缩进

发布时间:2020-12-14 16:36:31 所属栏目:大数据 来源:网络整理
导读:不幸的是,多行字符串上的stripIndent不起作用。 附注:我的IDE代码样式首选项仅允许空格缩进(选项卡将替换为空格)。但我认为这应该没有问题。 def s = """ This is multiline"""println s.stripIndent() 不打印 Thisismultiline 正如所料。 输出是缩进。 Th
不幸的是,多行字符串上的stripIndent不起作用。
附注:我的IDE代码样式首选项仅允许空格缩进(选项卡将替换为空格)。但我认为这应该没有问题。

def s = """ This 
            is
            multiline
"""
println s.stripIndent()

不打印

This
is
multiline

正如所料。

输出是缩进。

This 
               is
               multiline

这里出了什么问题?

我在Eclipse Indigo SR2中使用Groovy 2.0.7。

在第一行中使用反斜杠(String continuation character)似乎消失了这个问题。但我不明白为什么这是必须的。

解决方法

您可以使用.stripIndent()删除多行字符串上的缩进。但是你必须记住,如果没有给出任何数量的缩进,它将自动从包含最少数量的前导空格的行中确定。

给定您的字符串,这将只是一个前面的空白区域,它将从您的多行字符串的每一行中删除。

def s = """ This 
            is
            multiline
"""

若要解决此问题,您可以转义多行字符串的第一行,如以下示例所示,以获得预期的结果:

def s = """
           This
           is
           multiline
"""

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读