regex - 如何用该号码的修改版本替换所有号码?(Python)
问题描述
我有这个对象:
obj = "1231 qlwdrn,555, ;wlrd wqd 111 qwd,112,"
我想在用逗号括起来的每组数字周围添加单引号。
我想要的输出
obj = "1231 qlwdrn,'555', ;wlrd wqd 111 qwd,'112',"
我知道如何匹配这些数字,但我不知道如何保留这些相同的数字以供替换。这就是我所在的地方。
import re
obj = "1231 qlwdrn,555, ;wlrd wqd 111 qwd,112,"
obj.sub(r",\d+,", [what do I put here?])
解决方案
您需要在数字周围放置一个捕获组,以便您可以将其复制到替换中。
另外,sub
是一种re
方法,而不是字符串方法。您需要将字符串作为参数传递,并分配结果。
obj = re.sub(r",(\d+),", r",'\1',", obj)
\1
替换为与捕获组(\d+)
编号 1 匹配的任何内容。
推荐阅读
- bash - 为什么这个算术运算在 GNU bash 中不起作用?
- java - 有没有办法在 Swing 的自定义绘制图表中间显示一个项目?
- java - BitmapFactory.decodeStream 导致:D/skia: --- 无法创建带有消息“未实现”的图像解码器
- python - 从列表中打开文本文件以通过 for 循环
- c# - 在文本文件中从多个数据库表中写入信息的更有效方式
- python - 基于正则表达式模式突出显示数据框中的文本
- r - 在 Shiny R 中使用类似代码(最初有效)再次出现错误
- accessibility - 标签上的 for 和 select 标签上的 aria-labelledby 是否正确?
- mongodb - 如何使用 spring 的 mongo 模板中的 elemMatch 执行 mongo 查询?
- docker - 无法发送 docherize smpt 服务