Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 将文件中的字符串替换为re_Python_Regex - Fatal编程技术网

Python 将文件中的字符串替换为re

Python 将文件中的字符串替换为re,python,regex,Python,Regex,我想使用python模块re快速取消文件中一些不重要的字符串 我也尝试过其他模块,各种循环和函数,但我能得到的只是找到字符串,而不是用re.sub替换它们 重新导入 chat=打开(“chat.txt” chatText=chat.read() def deleteMatadata(): 对于chatText中的行: 关于sub(“\[\d\d\.\d\d\.\d\d\s\d\d:\d\d\d\]\sGian\sDogwiler:\s”,第行) 删除元数据() 没有错误消息或其他任何信息,什么

我想使用python模块re快速取消文件中一些不重要的字符串

我也尝试过其他模块,各种循环和函数,但我能得到的只是找到字符串,而不是用re.sub替换它们

重新导入
chat=打开(“chat.txt”
chatText=chat.read()
def deleteMatadata():
对于chatText中的行:
关于sub(“\[\d\d\.\d\d\.\d\d\s\d\d:\d\d\d\]\sGian\sDogwiler:\s”,第行)
删除元数据()
没有错误消息或其他任何信息,什么都没有。我的目标是取消[20.07.18,20:23:09]Gian Dogwiler:文件的每一行。

re.sub()
不会自动替换文件中的数据-您也需要将其写入文件。提供了一个很好的示例;我对其进行了轻微修改以匹配您的代码。请注意,您的
chat=open(“chat.txt”)行中也缺少一个关闭参数

重新导入
chat=打开(“chat.txt”)
chatout=open(“out.txt”、“w”)
def deleteMatadata():
在线聊天:
写入(re.sub(\[\d\d\.\d\d\.\d\d\d\s\d\d:\d\d\d\]\sGian\sDogwiler:\s“,第行))
删除元数据()
chat.close()
chatout.close()
处理完文件后,别忘了
.close()


re.sub
返回一个新字符串。您没有使用它,因此它没有任何作用。请查看为什么您不应该忽略
re.sub
的返回值。您也可以简单地使用字符串函数replacement:line.replace(旧,新)。请参阅:谢谢,尼克·里德,它现在正在工作,但只有一个字母,即“G”,而不是使用[\d\d\.\d\d\.\d\d\s\d\d:\d\d\sGian\sDogwiler:\s Edit:刚刚发现并不是每一行都被单独处理,而是每一个字符。@GDog听起来像是在使用
chatText=chat.read
作为输入-这会将每一行都放进去在单独的字符中。尝试直接从for循环中的
chat
读取。如果这不是问题,请告诉我。仅在chat中使用for-line:不起任何作用:/@GDog如果您发布更新的代码,可能会有所帮助。我包含的示例对您不起作用吗?哦,它起作用了,谢谢您的时间:)