我正在尝试从文本文件中删除标点符号列表,但只有一个与连字符分隔的单词问题。例如,如果我有“post-trauma”这个词,我会得到“posttrama”,相反,我想得到“post”“trauma”。
我的代码是:
punct=['!', '#', '"', '%', '$', '&', ')', '(', '+', '*', '-']
with open(myFile, "r") as f:
text= f.read()
remove = '|'.join(REMOVE_LIST) #list of word to remove
regex = re.compile(r'('+remove+r')', flags=re.IGNORECASE)
out = regex.sub("", text)
delta= " ".join(out.split())
txt = "".join(c for c in delta if c not in punct )
有办法解决吗?
最佳答案
我相信您可以在 delta 上调用内置的 replace
函数,因此您的最后一行将变为以下内容:
txt = "".join(c for c in delta.replace("-", " ") if c not in punct )
这意味着文本中的所有连字符都将变成空格,因此这些单词将被视为单独的。
关于Python从文本文件中删除标点符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41225435/