zoukankan      html  css  js  c++  java
  • 使用正则表达式替换文件内容 分类: python 小练习 2013-08-13 15:07 332人阅读 评论(0) 收藏

    现有一个包含用户信息的文件userinfo,内容格式如下:

    insert into USERINFO (ID, USERNAME, PWDHASH, USEALIAS, ALIAS, REALNAME, INUSE, F_BRANCH_ID, MOBILEPHONE, TELEPHONE, EMAIL, LICENSECODE,

    ADDRESS, POSTCODE, GENDER, F_CUSTOMER_ID, ISCORE, ACTIVETIME, EXPIRETIME, IP)


    values (248, 'police', '94216d6c554585824505a697b354b2b1', null, '', 'realname', 1, 223, 'mobile', 'phone', '1@163.com', '', 'address', '', 'M', 163, null, to_date('11-04-2013',

    'dd-mm-yyyy'), to_date('19-04-2013', 'dd-mm-yyyy'), '192.168.0.0');

    想要将类似to_date('19-04-2013', 'dd-mm-yyyy')的内容替换为null。


    import re
    
    f= open(r'D:userinfo.txt') #用户信息文件
    
    f2 =open(r'D:userinfo_handled.txt','w+') #经过替换操作后的文件
    
    p ='to_date(.*?)'  #注意()是正则中的特殊字符,需要转义
    
    for i in f:
    
        if re.search(p,i):
            i=re.sub(p,'null',i)
    
        f2.write(i)
    
    f2.close()
    
    f.close()

    替换后的结果如下:

    insert into USERINFO (ID, USERNAME, PWDHASH, USEALIAS, ALIAS, REALNAME, INUSE, F_BRANCH_ID, MOBILEPHONE, TELEPHONE, EMAIL, LICENSECODE,

    ADDRESS, POSTCODE, GENDER, F_CUSTOMER_ID, ISCORE, ACTIVETIME, EXPIRETIME, IP)


    values (248, 'police', '94216d6c554585824505a697b354b2b1', null, '', 'realname', 1, 223, 'mobile', 'phone', '1@163.com', '', 'address', '', 'M', 163, null, null, null,

    '192.168.0.0');


    然后可以使用userinfo_handled.txt中的语句在mysql数据库中执行。

    版权声明:本文为博主原创文章,未经博主允许不得转载。

  • 相关阅读:
    C++-struct类的新特性当class用
    rbenv、fish 與 VSCode 設置之路
    angularJS进阶阶段(4)
    插入排序
    Vimium
    Design Patterns 25
    Mysql(或者sqlite), Mongo中update Column + 1
    Hexo
    继承
    Gradle的依赖方式——Lombok在Gradle中的正确配置姿势
  • 原文地址:https://www.cnblogs.com/think1988/p/4628098.html
Copyright © 2011-2022 走看看