python - 替换字符串中的多个字符

标签 python regex string

在 python 中有没有一种简单的方法可以用另一个替换多个字符?

例如,我想改变:

name1_22:3-3(+):Pos_bos 

name1_22_3-3_+__Pos_bos

所以基本上把所有的"(",")",":"都替换成"_"

我只知道用:

str.replace(":","_")
str.replace(")","_")
str.replace("(","_")

最佳答案

你可以使用 re.sub用一种模式替换多个字符:

import re
s = 'name1_22:3-3(+):Pos_bos '
re.sub(r'[():]', '_', s)

输出

'name1_22_3-3_+__Pos_bos '

关于python - 替换字符串中的多个字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55280595/

相关文章:

python - 如何在 Python 中指定重复正则表达式

python - 检查字符串是否具有特定格式

c - 替换字符串中的标记

python - 如何使用 kafka 主题并通过 http 进行解析/服务?

python - 获取某个属性具有特定值的类实例

python - PyBrain 多个目标值

javascript - 正则表达式自动化,用于将 javascript 十六进制字符串替换为 HTML 实体字符串

c - 将未知长度的格式化数据写入字符串(C编程)

C - 字符串被函数无意中更改

python - 谷歌应用程序脚本 - "message": "Requested entity was not found." with devMode = false