繁体   English   中英

Python搜索并用正则表达式替换

[英]Python Search & Replace With Regex

我正在尝试使用以下代码替换使用Python的文件中正则表达式的所有出现:

import re

def cleanString(string):
    string = string.replace(" ", "_")
    string = string.replace('_"', "")
    string = string.replace('"', '')
    return string

test = open('test.t.txt', "w+")
test = re.sub(r':([\"])(?:(?=(\\?))\2.)*?\1', cleanString(r':([\"])(?:(?=(\\?))\2.)*?\1'), test)

但是,当我运行脚本时,出现以下错误:

Traceback (most recent call last):
  File "C:/Python27/test.py", line 10, in <module>
    test = re.sub(r':([\"])(?:(?=(\\?))\2.)*?\1', cleanString(r':([\"])(?:(?=(\\?))\2.)*?\1'), test)
  File "C:\Python27\lib\re.py", line 155, in sub
    return _compile(pattern, flags).sub(repl, string, count)
TypeError: expected string or buffer

我认为它读取的文件不正确,但是我不确定这里的实际问题是什么

您的cleanString函数未返回任何内容。 出现“ NoneType”错误。

您可能想要执行以下操作:

def cleanString(string):
    string = string.replace(" ", "_")
    string = string.replace('_"', "")
    string = string.replace('"', '')
    return string

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM