我正在读取一个文件,并对文件内容使用正则表达式来执行一些操作。在读取文件时,我在文件中找不到任何特殊字符,但在文件内容上使用正则表达式并将其保存到列表中后,在数字之前有一些特殊字符,如\t和\xa0
文件内容示例:
Hydrochloric Acid to pHÂ 3.3-5.0 q.s. q.s. q.s. pH-regulator Ph Eur, NF
应用正则表达式后,变为:
Hydrochloric Acid to pHÂ\xa03.3-5.0\tq.s.\tq.s.\tq.s.\tpH-regulator\tPh Eur, NF
在没有单独的字符串替换技术的情况下,如何删除所有这些内容
代码:
def extract(filename):
file=open(filename)
file=file.read()
print(file)
print("wefewwEF3RF3")
result = []
med = r"(?:{})".format("|".join(map(re.escape, medicines)))
pattern = re.compile(r"^\s*" + med + r".*(?:\n[^\w\n]*\d*\.?\d+[^\w\n]*(?:\n.*){2})?", re.M|re.IGNORECASE)
result = pattern.findall(file)
# result.encode('ascii', 'ignore')
newresult = []
for line in result:
newresult.append((line.strip()))
return newresult
newresult
列表包含原始文件中不存在的所有这些特殊字符
如果您知道所有这些特殊字符,您可以使用str的
maketrans
和translate
方法用空格替换它们,方法如下:输出
maketrans
接受2或3个参数。它创建转换表,然后可以在translate
方法中使用该表,其工作如下:maketrans
的第一个参数中的每个字符被替换为maketrans
的第二个参数中的相应字符(因此它们必须具有相同的长度),并且maketrans的第三个参数中的每个字符都被删除。在上面的例子中\xa0
被替换为空格\t
被替换为空格嗨
你能在不同的Python版本下检查你的代码吗?它似乎在3.8.0上正常工作
相关问题 更多 >
编程相关推荐