python - 如何使用python替换两个或多个下划线?

标签 python regex replace

对于机器学习来说,我需要“清理”一些我正在提取的文本,所以我尝试了这个:

texto = "sdf sdf s _ sfsf sdfs _________ sfsdf"
texto = texto.replace(r"_{2,}"," ")
print(texto)

但结果不是预期的:

sdf sdf s _ sfsf sdfs _________ sfsdf

我想要:

sdf sdf s _ sfsf sdfs  sfsdf

最佳答案

你可以使用

import re
texto = "sdf sdf s _ sfsf sdfs _________ sfsdf"
rx = re.compile(r'_{2,}')

texto = rx.sub('', texto)

哪个产量

sdf sdf s _ sfsf sdfs  sfsdf

如果您还想替换尾随空格,请将表达式更改为

rx = re.compile(r'_{2,}\s*')

那么输出就是

sdf sdf s _ sfsf sdfs sfsdf
#                   ^^^

关于python - 如何使用python替换两个或多个下划线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61367929/

相关文章:

python - 检查 HDF5 Store 对象是否为空?

python - 使用 Mechanize python 提交多部分/表单数据?

javascript - 使用正则表达式的 jQuery 验证插件自定义方法

Python 。如何摆脱字符串中的 '\r'?

php - str_replace : Match whole word only

python - 使用 python 处理 JSON 文件

python - 如何使用生成器参数验证 Python 模拟调用

php - 在 PHP 中删除没有正则表达式的多个空格

MySQL 问题 - 我想删除任何括号内的所有文本

linux - 使用linux sed用特殊字符替换字符串