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

如何用正则表达式拆分文本与数字并添加分隔符?

用正则表达式就能实现这个格式转换

核心思路

你的原始字符串是「队伍名+赔率+队伍名+赔率」(部分包含Draw选项)的连续拼接,只要在队伍名与赔率的衔接处、赔率与下一个队伍名(或Draw)的衔接处插入, 分隔符就行。

具体操作方案

可以分两步替换(分步更直观,也可以合并成一步):

第一步:分隔队伍名和赔率

  • 查找正则:([^\d])(?=\d)
  • 替换为:$1,
    作用:匹配队伍名的最后一个非数字字符,在它和后面的赔率数字之间插入, 。

第二步:分隔赔率和下一个队伍名(或Draw)

  • 查找正则:(\d)(?=[^\d])
  • 替换为:$1,
    作用:匹配赔率的最后一个数字,在它和后面的队伍名(或Draw)开头字符之间插入, 。

效果验证

拿你的示例行测试:
原始行:Australia1.09Draw14.00West Indies13.00
第一步替换后:Australia, 1.09Draw, 14.00West Indies, 13.00
第二步替换后:Australia, 1.09, Draw, 14.00, West Indies, 13.00,完全符合你要的输出。

其他行比如Abu Dhabi1.90Morrisville Samp Army1.90,两步替换后会变成Abu Dhabi, 1.90, Morrisville Samp Army, 1.90,和你的示例格式一致(如果要完全复刻示例里的「Abu Dhabi , 1.90」这种带空格的分隔,把第一步的替换改成$1 , 就行)。

一步替换的简化方案

如果用VS Code、Notepad++这类支持复杂正则的工具,还可以把两步合并成一次替换:

  • 查找正则:([^\d])(?=\d)|(\d)(?=[^\d])
  • 替换为:$1$2,

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.10 04:01:27