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

Python字符串特定句号替换:保留句末句号,移除数字间句号

解决Python字符串移除数字及数字间句号的问题

我来帮你搞定这个字符串处理的问题!你需要把包含数字的字符串处理成只保留字母和句末句号的形式,之前的正则因为会保留数字里的小数点,导致出现了多余的符号,咱们换个思路来解决:

核心思路

先精准匹配并移除所有整数或小数形式的数字(包括数字里的小数点),再处理移除数字后可能出现的多余空格,就能得到你想要的结果。

完整代码实现

import re

# 原字符串
s = """ Bob sent some money to Ana. It was 10.23 dollars. Ana thanked him. """

# 第一步:移除所有整数或带小数点的小数
processed_str = re.sub(r'\b\d+(\.\d+)?\b', '', s)

# 第二步:合并连续空格并去除首尾多余空格
processed_str = re.sub(r'\s+', ' ', processed_str).strip()

print(processed_str)
# 输出结果:Bob sent some money to Ana. It was dollars. Ana thanked him.

正则表达式解释

  • \b:单词边界,确保我们匹配的是独立的数字(不会误匹配字符串中间夹杂的数字,比如"abc123"里的123)
  • \d+:匹配一个或多个数字(对应数字的整数部分)
  • (\.\d+)?:可选的小数部分,\.匹配小数点,\d+匹配小数位数字,?表示这部分可以不存在(也就是支持整数)

这样处理后,既不会留下数字里的小数点,也能完美保留句末的句号,同时让空格更规范。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 04:10:40