python - 用空格替换所有“_”实例。如果序列中有超过 1 个实例,则仅替换为 1 个空格
问题描述
我需要编写一个 Python 函数,它将用空格替换所有下划线实例。如果有 2 个或多个连续的下划线,则需要将它们替换为单个空格。
我可以替换字符,但不限制被替换的空格数。
def replace_trash(strg):
newStr = ''
for i in strg:
if i != '_':
newStr += i
else:
newStr += ' '
return newStr
print (replace_trash('Please__help___me_to_solve___this_____problem'))
预期结果是:请帮我解决这个问题
解决方案
用一个空格替换正则表达式的所有匹配项(+ = 一个或多个' ')
import re
def replace_trash(string):
return re.sub('_+', ' ', string)
print(replace_trash('Please__help___me_to_solve___this_____problem'))
推荐阅读
- ffmpeg - FFmpeg - 使用 C-API 生成 x264 CBR 视频传输流
- ssis - 在 SSIS 查找转换中设置到 Azure SQL 数据库的连接
- javascript - 如何让相机跟随 JavaScript/HTML5 Canvas 中的播放器
- java - 是否可以将 DeviceCode 身份验证流程与 Azure Java SDK 一起使用?
- javascript - 嵌套数组的意外 console.log 输出
- excel - 从范围 A 复制到范围 B 并且不要覆盖 B 中的现有日期
- html - Beautiful Soup,Python:尝试以正确的方式在 html 页面上显示 for 循环的抓取内容
- python-3.x - Django 文档“多对多字段”
- c# - 游戏对象销毁在析构函数内失败
- jupyter-notebook - 如何在等式 Jupyter 笔记本的文本中添加空格?