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

如何在Groovy中移除回车符(Control-M)

使用Groovy移除文件中的Control-M字符

Control-M对应ASCII码0x0D的回车符(转义字符为\r),可以通过Groovy的replaceAll方法结合正则表达式移除,以下是具体实现:

1. 处理单个字符串

如果是处理内存中的字符串内容,直接调用replaceAll匹配\r并替换为空:

def originalStr = "some content\r"
def cleanedStr = originalStr.replaceAll(/\r/, '')
// 若仅需移除每行末尾的Control-M,用行尾锚点$更精准:
// def cleanedStr = originalStr.replaceAll(/\r$/, '')

2. 处理CSV文件(读取-清理-写入)

直接操作文件的完整示例:

// 目标CSV文件路径
def csvFile = new File('path/to/your/file.csv')

// 读取文件全部内容
def rawContent = csvFile.text

// 移除所有Control-M字符
def cleanedContent = rawContent.replaceAll(/\r/, '')

// 将清理后的内容写回文件(覆盖原文件)
csvFile.write(cleanedContent)

说明

  • replaceAll(/\r/, '')会移除文本中所有的Control-M字符,适合全局清理场景;
  • 若仅需要移除每行末尾的Control-M,改用replaceAll(/\r$/, ''),其中$是正则表达式的行尾匹配锚点,避免误删中间出现的回车符;
  • Groovy的File.text会自动处理文件编码,若需指定编码,可在text和write方法中添加参数,例如csvFile.getText('UTF-8')、csvFile.write(cleanedContent, 'UTF-8')。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 03:01:10