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

如何分割含冒号的字符串且不拆分时间格式中的冒号?

解决方案

要解决这个问题,关键是只分割非时间格式里的冒号,同时保留换行、逗号作为分割符。可以利用正则表达式的负向环视断言,排除时间中位于数字之间的冒号(比如00:00:00里的冒号)。

实现代码

import re

values = 'City:hell\nCountry:rome\nUpdate date: 2022-09-26 00:00:00'
# 分割规则:换行、逗号,或非数字前后的冒号
result = re.split(r'\n|,|:(?!\d)|(?<!\d):', values)
# 清理空字符串和多余空格
result = [item.strip() for item in result if item.strip()]

print(result)

输出结果

['City', 'hell', 'Country', 'rome', 'Update date', '2022-09-26 00:00:00']

正则说明

  • \n|,:直接匹配换行和逗号作为分割符
  • :(?!\d):匹配后面不紧跟数字的冒号(比如字段名Update date后的冒号)
  • (?<!\d)::匹配前面不是数字的冒号(补充场景,避免误分割非时间格式的数字后冒号)

这样就能精准避开时间格式里的冒号,同时完成预期的分割需求。

内容的提问来源于stack exchange,提问作者Mustapha Unubi Momoh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.16 14:55:22