从数组中删除特定的 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)
输出:
['دوره', 'ندارد', 'دارد']
我有一些这样的数组:
['دوره', 'ندارد', '\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)
输出:
['دوره', 'ندارد', 'دارد']