python - 如何删除单词末尾的数字?
问题描述
我想从一个字符串中删除数字,该字符串只是放在一个单词之后,没有任何空格。例如:
'Senku Ishigami is charecter from a manga series98 onging since 2017.'
应该:
'Senku Ishigami is charecter from a manga series onging since 2017.'
我可以使用 regex 删除检测数字'[a-z]+[0-9]+'
,但是当我不明白如何删除它时。我试图通过只写来删除它'[a-z]'
,因为我认为它会起作用,但它只是'[a-z]'
作为字符串打印。
这是代码:
import re
text ='Senku Ishigami is charecter from a manga series98 onging since 2017.'
text = re.sub(r'[a-z]+[0-9]+', '[a-z]', text)
print(text)
输出:
Senku Ishigami is charecter from a manga [a-z] onging since 2017.
解决方案
您还可以使用捕获组在匹配 1 个以上数字之前仅捕获单个字符。
在使用组 1 的替换中使用\1
([a-z])\d+\b
import re
text ='Senku Ishigami is charecter from a manga series98 onging since 2017.'
text = re.sub(r'([a-z])\d+\b', r'\1', text)
print(text)
输出
Senku Ishigami is charecter from a manga series onging since 2017.
推荐阅读
- mongodb - Mongodb 仅在键匹配某个值的对象上对文档内的对象数组进行排序
- angular - 带有模拟可观察对象的角度单元测试不返回值
- reactjs - 如何在 react-native 应用程序中检查会话过期?
- php - php自定义排序函数
- python - 如何以图形的形式绘制复杂方程?
- c - 高性能位删除(XOR 与减法)
- addeventlistener - 为什么要执行这些功能?
- r - 如何从两列中找到最大值和最小值
- visual-studio-2019 - Visual Studio 2019 上的 Jupiter 笔记本
- sql - 是否可以在 hive sql 中使用 IF 语句来确定要使用哪个 JOIN 语句?