gpt4 book ai didi

python - 如何在 Python 的正则表达式中包含非 ascii 字符

转载 作者:行者123 更新时间:2023-12-05 07:37:12 25 4
gpt4 key购买 nike

我有一个文本文件,我正在逐行阅读它。在每一行中,如果有特殊字符,那么我将删除特殊字符,为此,我使用了正则表达式的帮助。

fh = open(r"abc.txt","r+")
data = fh.read()
#print re.sub(r'\W+', '', data)
new_str = re.sub('[^a-zA-Z0-9\n\.;,?!$]', ' ', data)

因此,在我的数据中,我只保留字母数字词和一些特殊符号 [.;,?!$],但除此之外我还需要欧元符号 (€)、英镑 (£ )、日元 (¥) 和卢比符号 (₹)。但是这些不存在于 ASCII 字符中,所以当我将它们包含在我的正则表达式中时,例如 - re.sub('[^a-zA-Z0-9\n.;,?!$€₹¥]' , ' ', data) 它给出错误信息。语法错误:第 23 行文件 preprocess.py 中的非 ASCII 字符 '\xe2',但未声明编码

最佳答案

您可以使用 Unicode character escapes .例如,Euro character上面可以表示为\u20ac。四位数字是 Unicode 编号,与编码类型无关。在示例正则表达式中,这可能看起来像:

[^a-zA-Z0-9\u20ac]

关于python - 如何在 Python 的正则表达式中包含非 ascii 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48780482/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com