• 使用正则表达式替换文件内容 分类: 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数据库中执行。

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

  • 相关阅读:
    组件化的使用
    MacOS 升级后pod 出现的问题
    协议(Protocol) 和代理(Delegate)
    分类(Category)的本质 及其与类扩展(Extension) /继承(Inherit)的区别
    KVC
    KVO的使用及底层实现
    OC对象的本质及分类
    大端小端
    为什么一个指针在32位系统中占4个字节,在64位系统中占8个字节?
    quarts之Cron表达式示例
  • 原文地址:https://www.cnblogs.com/think1988/p/4628098.html
Copyright © 2020-2023  润新知