Python中的文本替换

文本替换是字符串的基本操作,Python的str提供了replace方法:

src = '那个人看起来好像一条狗,哈哈'
print(src.replace(',哈哈', '.'))

上面代码最后的输出结果是:

那个人看起来好像一条狗.

对于习惯了Java中的replace,Python的replace用起来有些不适应,因为后者不支持直接使用正则表达式。要实现通过正则表达式的替换,可以配合Python的正则表达式模块使用。比如:

"""
替换掉字符串value内竖线之后的的内容
"""
import re

src = '[{"name":"date","value":"2017数据"},{"name":"年收入","value":"3000|{"url":"http://www.abc.com/chart/income","x":"0","y":"456.172820"}"},{"name":"税款","value":"-"},{"name":"人数","value":"3419"},{"name":"部门","value":"27|{"url":"http://www.abc.com/department/list","x":"0","y":"155.852820"}"},{"name":"部门营收","value":"-"}]'

#通过则表达式查找,如果有多个匹配,只能获取到最后一个
matches = re.search('\|{.*?"}', src)
while matches is not None:
    src = src.replace(matches.group(0), '')
    matches = re.search('\|{.*?"}', src)

print(src)

最后的结果:

[{"name":"date","value":"2017数据"},{"name":"年收入","value":"3000"},{"name":"税款","value":"-"},{"name":"人数","value":"3419"},{"name":"部门","value":"27"},{"name":"部门营收","value":"-"}]
阅读更多

扫码向博主提问

mydeman

博客专家

大道至简,量化之道
  • 擅长领域:
  • 架构设计
  • Quants
去开通我的Chat快问
版权声明:原创文章,欢迎转载,转载请注明出处和原文链接 https://blog.csdn.net/mydeman/article/details/78248847
个人分类: python 学习
上一篇CentOS 7更新时出现Multilib version problems
下一篇CentOS7 SELinux阻止MongoDB启动的问题
想对作者说点什么? 我来说一句

没有更多推荐了,返回首页

关闭
关闭
关闭