如何清理 Python 中的列表列表并将其发送到文本中
How can I clean and text mine a list of lists in Python
我有一段代码可以从几个 PDF 中提取文本并将它们放入列表列表中,称为 pages_text
现在我的文本在列表中,我正在尝试使用以下代码清除其中的特殊字符:
for i in len(pages_text):
pages_text[i] = pages_text[i].lower()
re.sub('™', "", pages_text[i])
re.sub('[\n]', "", pages_text[i])
re.sub("'\n'", "", pages_text[i])
re.sub('[™]', '', pages_text[i])
re.sub('fl', '', pages_text[i])
re.sub('\nŒ', '', pages_text[i])
re.findall(r"\s+", pages_text[i])
print(pages_text)
但是删除特殊字符并不是很有效。
我的问题是:
- 有人可以帮我解决清洁过程中的问题吗?
感谢任何帮助我指明正确方向的人!
**为简洁明了而编辑
Python 字符串是不可变的,re.sub
不会就地修改它们。您必须用 re.sub()
.
返回的新字符串替换原始字符串
此外,您可以更有效地将它们组合成一个正则表达式,而不是使用多个正则表达式。例如:
special_chars_re = re.compile('[™flŒ\n]')
for idx, line in enumerate(pages_text):
pages_text[idx] = special_chars_re.sub('', line.lower())
对于您的其他问题,请一次发布一个问题,以免您的问题因过于宽泛而被关闭。
我有一段代码可以从几个 PDF 中提取文本并将它们放入列表列表中,称为 pages_text
现在我的文本在列表中,我正在尝试使用以下代码清除其中的特殊字符:
for i in len(pages_text):
pages_text[i] = pages_text[i].lower()
re.sub('™', "", pages_text[i])
re.sub('[\n]', "", pages_text[i])
re.sub("'\n'", "", pages_text[i])
re.sub('[™]', '', pages_text[i])
re.sub('fl', '', pages_text[i])
re.sub('\nŒ', '', pages_text[i])
re.findall(r"\s+", pages_text[i])
print(pages_text)
但是删除特殊字符并不是很有效。
我的问题是:
- 有人可以帮我解决清洁过程中的问题吗?
感谢任何帮助我指明正确方向的人!
**为简洁明了而编辑
Python 字符串是不可变的,re.sub
不会就地修改它们。您必须用 re.sub()
.
此外,您可以更有效地将它们组合成一个正则表达式,而不是使用多个正则表达式。例如:
special_chars_re = re.compile('[™flŒ\n]')
for idx, line in enumerate(pages_text):
pages_text[idx] = special_chars_re.sub('', line.lower())
对于您的其他问题,请一次发布一个问题,以免您的问题因过于宽泛而被关闭。