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

如何用Regex将空格转逗号但保留CSV的Description字段空格?

解决方案

单行处理公式

针对单个单元格(比如A1),使用以下公式:

=REGEXREPLACE(A1, "^(\S+)\s+(\S+)\s+(.*?)\s+(\S+)\s+(\S+)\s+(\S+)$", "$1,$2,$3,$4,$5,$6")

批量多行处理公式

如果要批量处理多行数据(比如A1:A4),用ARRAYFORMULA结合JOIN实现:

=JOIN(CHAR(10), ARRAYFORMULA(REGEXREPLACE(A1:A4, "^(\S+)\s+(\S+)\s+(.*?)\s+(\S+)\s+(\S+)\s+(\S+)$", "$1,$2,$3,$4,$5,$6")))

正则逻辑说明

  • ^(\S+)\s+(\S+):精准匹配开头的两个无空格字段(交易日期、过账日期),\S+匹配非空格字符,\s+匹配字段间的任意空格
  • \s+(.*?)\s+:非贪婪匹配中间的描述字段,直到遇到后续的无空格数字字段(参考编号),完整保留描述里的原始空格
  • (\S+)\s+(\S+)\s+(\S+)$:匹配末尾三个无空格字段(参考编号、账号、金额),直到行尾
  • 替换时用$1,$2,$3,$4,$5,$6将捕获组用逗号分隔,同时保留第三个组的原始空格

验证结果

将样本数据代入公式后,输出与期望结果完全一致:

12/23,12/24,GOOGLE*DOMAINS SUPPORT.GOOGLCA,7811,8550,12.00
01/02,01/04,CREPEVINE - OAKLAND OAKLAND 234567 CA,1087,8220,16.32
01/06,01/07,AB* ABEBOOKS.CO J6YDBX HTTPSWWW.ABEBWA,6289,85332,6.98
01/20,01/21,SQ *BAGEL STREET CAFE Oakland CA,2313,44444,24.43

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 10:50:23