1

我有以下字符串:

tweet = "Get $10 worth of AMAL!!\\nThis campaign will be final AirDrop before official release!!\\nhttps://form.run/@airdrop-e\xa0\\n\\nRT please!\\n\\n#amanpuri #AMAL\\n#BTC #XRP #ETH \\n#cryptocurrency  \\n#China #bitcoin \\n#\\xe3\\x82\\xa2\\xe3\\x83\\x9e\\xe3\\x83\\xb3\\xe3\\x83\\x97\\xe3\\x83\\xaa"

我需要清理它,但我坚持去掉字符串末尾的符号,也\\n#\\xe3\\x82\\xa2\\xe3 就是最有可能的 unicode 符号、表情符号和换行符\\n 这是我所做的:

pat1 = r'@[A-Za-z0-9]+' # this is to remove any text with @ (links)
pat2 = r'https?://[A-Za-z0-9./]+'  # this is to remove the urls
pat3 = r'[^a-zA-Z0-9$]' # to remove every other character except a-z & 0-9 & $
combined_pat2 = r'|'.join((r'|'.join((pat1, pat2)),pat3)) # combine pat1, pat2 and pat3 to pass it in the cleaning steps

我得到以下输出:

get $10 worth of amal   nthis campaign will be final airdrop before official release   n   e  n nrt please  n n amanpuri  amal n btc  xrp  eth  n cryptocurrency   n china  bitcoin  n  xe3 x82 xa2 xe3 x83 x9e xe3 x83 xb3 xe3 x83 x97 xe3 x83 xaa

所以我仍然有所有这些nxe3有人可以为此目的建议一个 python 正则表达式吗?提前谢谢。

4

1 回答 1

2

这些不是字符。他们是逃跑者。您可以使用此正则表达式匹配它们:

r'\\(n|x..)'

如果要删除它们,请使用:

import re
tweet = re.sub(r'\\(n|x..)', '', tweet)
于 2019-12-04T01:53:45.943 回答