zoukankan      html  css  js  c++  java
  • 替换文件中字符(正则)

    替换文件中字符(正则)
    #!/usr/bin/env python

    import re

    filename = 'source.c'
    text = open(filename).read()

    r = re.compile(r'/*.*?*/', re.DOTALL)
    cr= re.compile('Copyright')

    def sub_copyright(m):
        mo = cr.search(m.group())
        if mo:
            return '/*xxx*/'
        else:
            return m.group()

    result = r.sub(sub_copyright, text)
    open('result.c', 'w').write(result)


    可以使用sub()方法来进行查询和替换,sub方法的格式为:sub(replacement, string[, count=0])

    replacement是被替换成的文本

    string是需要被替换的文本

    count是一个可选参数,指最大被替换的数量

    例子:

    import re
    p = re.compile(‘(blue|white|red)’)
    print(p.sub(‘colour’,'blue socks and red shoes’))
    print(p.sub(‘colour’,'blue socks and red shoes’, count=1))

    输出:

    colour socks and colour shoes
    colour socks and red shoes

    subn()方法执行的效果跟sub()一样,不过它会返回一个二维数组,包括替换后的新的字符串和总共替换的数量

    例如:

    import re
    p = re.compile(‘(blue|white|red)’)
    print(p.subn(‘colour’,'blue socks and red shoes’))
    print(p.subn(‘colour’,'blue socks and red shoes’, count=1))

    输出

    (‘colour socks and colour shoes’, 2)
    (‘colour socks and red shoes’, 1)





  • 相关阅读:
    Java入门系列-10-数组
    Java入门系列-09-循环结构
    Java入门系列-08-选择结构
    Java入门系列-07-从控制台中接收输入
    Java入门系列-06-运算符
    05-数据类型和类型转换
    004 java中的变量
    Filter过滤器实现同一地址手机和电脑页面不同
    Java 8 Lambda表达式10个示例【存】
    Centos7+Apache2.4+php5.6+mysql5.5搭建Lamp环境——为了wordPress
  • 原文地址:https://www.cnblogs.com/highroom/p/a920008110791660e2feb59427f2aa3b.html
Copyright © 2011-2022 走看看