在python中仅从文本中删除特定的变音符号

在python中仅从文本中删除特定的变音符号,python,regex,unicode,hebrew,python-textprocessing,Python,Regex,Unicode,Hebrew,Python Textprocessing,我需要删除希伯来文文本中的某些发音符号。如果我需要从所有的变音符号中去掉文本,那就不会有这样的问题 在unicode中,我要删除的范围在\u0591和\u05AF之间(或十进制的1425-1455)。理想情况下,其他字符(字母、变音符号或标点符号)都应该保留 输入是一个文本文件,输出也应该是一个文本文件。 仅删除一系列unicode字符的最佳方法是什么? 或者unicode不是正确的方向 编辑: 这是我用来删除所有变音符号的代码。有什么建议我可以修改它,使它只删除所需的字符,而不是所有的变音符号

我需要删除希伯来文文本中的某些发音符号。如果我需要从所有的变音符号中去掉文本,那就不会有这样的问题

在unicode中,我要删除的范围在\u0591和\u05AF之间(或十进制的1425-1455)。理想情况下,其他字符(字母、变音符号或标点符号)都应该保留

输入是一个文本文件,输出也应该是一个文本文件。 仅删除一系列unicode字符的最佳方法是什么? 或者unicode不是正确的方向

编辑:

这是我用来删除所有变音符号的代码。有什么建议我可以修改它,使它只删除所需的字符,而不是所有的变音符号

    normalized=unicodedata.normalize('NFKD', content)
    no_diacritics=''.join([c for c in normalized if not 
    unicodedata.combining(c)])
    no_diacritics
    f.close()

谢谢你的帮助!谢谢。

如果我理解正确,这应该可以满足您的需要:

normalized = unicodedata.normalize('NFKD', content)
no_diacritics = ''.join(c for c in normalized if not '\u0591' <= c <= '\u05af')
normalized=unicodedata.normalize('NFKD',content)

no_diacritics=''.join(c代表c,如果不是'\u0591',那么到目前为止您尝试了什么?您可以使用类似于
i的东西=[如果1425年为false,您是否可以包括您已经尝试过的内容?以及您不喜欢的原因?使问题更具体一些?请参阅:Edited。谢谢!我将创建一个函数,返回变音符号是否在您要删除的特定范围内,然后使用与您现有解决方案非常类似的方法,只需替换
un即可icodedata。将
与新函数相结合。