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

如何将逗号分隔数字行的空格替换为换行?正则问题排查

原正则的问题分析及修正方案

原正则的核心问题

  1. 非贪婪匹配导致数字拆分错误
    你的正则里.*?是最小匹配模式,它会找到第一个能让后续\h*,.*$(空格+逗号+剩余内容)成立的位置就停止。拿第一行\u042f 12,197,051举例,.*?会匹配到\u042f 12(因为后面刚好跟着 ,),把数字的前半部分和前缀文本绑在了一起,替换后自然就把完整的数字拆成了12和,197,051两部分。

  2. 匹配条件过于局限
    正则第三组要求空格后面必须跟逗号,这就导致最后一行里43,437,031 OVERWATE之间的空格因为后面是字母,不符合匹配条件,所以没被替换,最后一行只拆分了一次。

正确的正则方案

方案一:简单直接(适配你的输入场景)

直接匹配所有水平空格,替换为换行:

  • Find What: \h+
  • Replace With: \n
    这个方案适合你的输入,因为所有空格都是用来分隔不同内容的,没有数字内部的空格需要保留。

方案二:精准匹配(避免误替换)

如果需要更精准,只替换不同内容块之间的空格,可以用分组匹配,循环替换直到没有匹配项:

  • Find What: (\S+)\h+(\S+)
  • Replace With: \1\n\2
    这个正则会匹配“非空内容块 + 空格 + 非空内容块”,每次替换一组,循环执行后就能把一行中的所有空格都换成换行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 14:58:23