在 python 中清理文本时保留新行
Keep new lines when cleaning text in python
我正在尝试制作一个 reddit 抓取工具。它工作正常但是当有表情符号时我会遇到问题。为了尝试解决这个问题,我在另一个问题上找到了这个函数。
def cleanText(text):
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, " # Symbols that are allowed
new_text = ""
for c in text: # for each character in the text
if c.isalnum() or c in valid_symbols: # check if alphanumeric or a valid symbol
new_text += c
return new_text
这很适合清理文本,因此可以正确阅读,但我遇到的问题是我丢失了换行符。有什么办法可以告诉它换行没问题吗?
您可以将换行符 (\n
) 添加到 valid_symbols
,即更改
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, "
至
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, \n"
但请注意 newlines do differ between systems,因此可能有必要将其更改为
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, \r\n"
您也可以使用更通用的解决方案 - 允许空格,这意味着更改
if c.isalnum() or c in valid_symbols:
至
if c.isspace() or c.isalnum() or c in valid_symbols:
我正在尝试制作一个 reddit 抓取工具。它工作正常但是当有表情符号时我会遇到问题。为了尝试解决这个问题,我在另一个问题上找到了这个函数。
def cleanText(text):
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, " # Symbols that are allowed
new_text = ""
for c in text: # for each character in the text
if c.isalnum() or c in valid_symbols: # check if alphanumeric or a valid symbol
new_text += c
return new_text
这很适合清理文本,因此可以正确阅读,但我遇到的问题是我丢失了换行符。有什么办法可以告诉它换行没问题吗?
您可以将换行符 (\n
) 添加到 valid_symbols
,即更改
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, "
至
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, \n"
但请注意 newlines do differ between systems,因此可能有必要将其更改为
valid_symbols = "?=-!@#$%^&*()_/\+;:%£$, \r\n"
您也可以使用更通用的解决方案 - 允许空格,这意味着更改
if c.isalnum() or c in valid_symbols:
至
if c.isspace() or c.isalnum() or c in valid_symbols: