首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用Python删除阿拉伯语的对话框

使用Python删除阿拉伯语的对话框
EN

Stack Overflow用户
提问于 2021-04-07 14:25:04
回答 2查看 1.6K关注 0票数 4

我想通过使用Python删除阿拉伯语对话框来过滤文本。

例如

文字:填充后的اللَّهمَّاغْفِرْلنَاولوالدِينَا:اللهماغفرلناولوالدينا

我发现这可以使用CAMeL工具来完成,但我不确定如何做到。

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-04-07 14:44:57

您可以像这样使用库pyArabic

代码语言:javascript
运行
复制
import pyarabic.araby as araby

before_filter="اللَّهمَّ اغْفِرْ لنَا ولوالدِينَا"
after_filter = araby.strip_diacritics(before_filter)

print(after_filter)
# will print : اللهم اغفر لنا ولوالدينا

您可以尝试不同的stip过滤器:

代码语言:javascript
运行
复制
araby.strip_harakat(before_filter)  # 'اللّهمّ اغفر لنا ولوالدينا'
araby.strip_lastharaka(before_filter)  # 'اللَّهمَّ اغْفِرْ لنَا ولوالدِينَا'
araby.strip_shadda(before_filter)  # 'اللَهمَ اغْفِرْ لنَا ولوالدِينَا'
araby.strip_small(before_filter)  # 'اللَّهمَّ اغْفِرْ لنَا ولوالدِينَا'
araby.strip_tashkeel(before_filter)  # 'اللَّهمَّ اغْفِرْ لنَا ولوالدِينَا'
araby.strip_tatweel(before_filter)  # 'اللَّهمَّ اغْفِرْ لنَا ولوالدِينَا'
票数 8
EN

Stack Overflow用户

发布于 2022-07-20 05:11:50

龙舌兰人:

代码语言:javascript
运行
复制
text = 'text with Arabic Diacritics to be removed'    
text = ''.join([t for t in text if t not in ['ِ', 'ُ', 'ٓ', 'ٰ', 'ْ', 'ٌ', 'ٍ', 'ً', 'ّ', 'َ']])
print(text)

如果你想要阿拉伯语对话词的完整列表,你也可以从pyArabic获得,这是一个独立的例子:

代码语言:javascript
运行
复制
import unicodedata
try:
    unichr
except NameError:
    unichr = chr

text = 'اللَّهمَّ اغْفِرْ لنَا ولوالدِينَا '    
text = ''.join([t for t in text if t not in [unichr(x) for x in range(0x0600, 0x06ff) if unicodedata.category(unichr(x)) == "Mn"]])
print(text)
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66988153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档