加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

python字符串切片处理DB2 DEL文件断行问题实现不以引号开头的行

发布时间:2020-12-17 17:15:16 所属栏目:Python 来源:网络整理
导读:今天PHP站长网 52php.cn把收集自互联网的代码分享给大家,仅供参考。 """python字符串切片处理DB2 DEL文件断行问题实现不以引号开头的行与上一行连接.py题目来源 http://www.bathome.net/thread-38164-1-1.html依山居 17:

以下代码由PHP站长网 52php.cn收集自互联网

现在PHP站长网小编把它分享给大家,仅供参考

"""
python字符串切片处理DB2 DEL文件断行问题实现不以引号开头的行与上一行连接.py
题目来源 http://www.bathome.net/thread-38164-1-1.html
依山居  17:47 2015/11/24
这个解决思路在脑子里绕了好几天~找到n也就是换行符,同时切出它的下一位不为"号的字符。
也就是不以引号开头行的第一个字。然后再替换掉n
感觉这个处理方法,不需要正则表达式可靠性也很高。
"""
import time
start=time.time()
print("运行中..."*3)

with open("a.txt") as f:
    txt=f.read()
#增加字符长度,取n的下一位字符时就不用担心和考虑越界的问题
txt=txt+"###"
rn=len(txt)
#找到n也就是换行符,同时切取出它的下一位不为"号的字符。
rs=[txt[r]+txt[r+1] for r in range(rn-3) if ("n" in txt[r]) and ('"' not in txt[r+1])]
#rs=['n2','n5','n2','n3'...]
for r in rs:
    #设r为n3,替换为r[1]也就是换为3,相当于删掉了n。这个不以引开头的行就能与上行连接了。
    txt=txt.replace(r,r[1])
txt=txt.rstrip("###")+"n"
with open("aa.txt","w+") as f:
    f.write(txt)

end=time.time()
pt=end-start
print("运行耗时:",pt)
try:
    input("按回车退出")
except SyntaxError:
    pass

以上内容由PHP站长网【52php.cn】收集整理供大家参考研究

如果以上内容对您有帮助,欢迎收藏、点赞、推荐、分享。

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读