You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Groovy中println函数为何输出额外空行?如何解决?

解决Groovy输出额外空行的问题

你的问题核心不是println或print的问题,而是extractedLine变量本身大概率包含了换行符(比如从文件、控制台输入或其他流读取时附带的\n/\r\n),导致输出时先打印了这个换行符,再显示目标内容。

验证问题根源

先确认extractedLine的实际内容,用dump()方法查看变量的原始信息:

println extractedLine.dump()

输出里如果能看到\n或\r\n,就说明是变量自带的换行符导致的空行。

解决方法

1. 去除首尾所有空白(推荐)

用trim()方法可以一次性去掉字符串首尾的换行符、空格、制表符等不可见空白:

def myline = extractedLine.trim()
println 'myline:' + myline

2. 仅去除换行符

如果需要保留字符串中间的空白,只去掉换行符,用replaceAll()匹配换行符并替换为空:

def myline = extractedLine.replaceAll(/[\r\n]/, '')
println 'myline:' + myline

另外注意:Groovy里定义字符串变量的正确写法是用def或首字母大写的String,你的代码里string myline=extractedLine是语法错误,修正为def myline = extractedLine或String myline = extractedLine会更规范。

内容的提问来源于stack exchange,提问作者liuxu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.09 18:31:03