从数组中删除特定的 unicode 字符 Python

Remove an specific unicode character from an array Python

我有一些这样的数组:

['دوره', 'ندارد', '\uf0d6', 'دارد']

我想从中删除特定的 Unicode 字符,例如 \uf0d6。我试过这个:

  for item in tagArray[0]:
    if item.startswith('\u'):
      tagArray[0] = tagArray[0].remove(item)

但是当我 运行 它时,我收到这个错误:

SyntaxError: (unicode error) 'unicodeescape' codec can't decode bytes in position 0-1: truncated \uXXXX escape

如何解决这个问题?

编辑:ASCII 字符的 Encode/Decode 或 <128 方法不起作用,因为波斯字符不是 ASCII,它会删除所有字符。

您可以试试下面的代码片段。希望对你有用。

代码:

import re

def remove_unicode(str):
    return re.sub(r'[^\w]+', '', str, flags=re.U)

str_list = ['دوره', 'ندارد', '\uf0d6', 'دارد']
res_list = []

for str in str_list:
    res_str = remove_unicode(str)
    if res_str:
        res_list.append(res_str)

print(res_list)

输出:

['دوره', 'ندارد', 'دارد']