问题描述
我有一个文本数据文件,其中包含原始孟加拉语文本数据以及很多外来词 我想从孟加拉语原始文本中删除所有外来词。
输入:
দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। पैरेनकाइमा कोशिकाएं . what a shame. সুস্থ থাকা দায়।
输出:
দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। সুস্থ থাকা দায়।
任何建议或想法都会对我有很大帮助。
提前谢谢。
致谢
解决方法
使用ord
过滤掉“西方字符和标点符号”(抱歉,缺少更好的单词),并使用re
去除多个空格。
import re
a = "দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। पैरेनकाइमा कोशिकाएं . what a shame. সুস্থ থাকা দায়।"
a = "".join(i for i in a if ord(i) > ord('z') or ord(i)== 32)
re.sub(' +',' ',a)
返回:
'দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। पैरेनकाइमा कोशिकाएं সুস্থ থাকা দায়।'
,
以下是评论中提到的
import re
a = "দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। पैरेनकाइमा कोशिकाएं . what a shame. সুস্থ থাকা দায়।"
a = "".join(i for i in a if i in [".","।"] or 2432 <= ord(i) <= 2559 or ord(i)== 32)
re.sub(' +',a)
,
将re
与split()
函数一起使用可删除多个while空间。
import re
a = "দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। पैरेनकाइमा कोशिकाएं . what a shame. সুস্থ থাকা দায়।"
a = "".join(i for i in a if i in ["।"] or 2432 <= ord(i) <= 2559 or ord(i)== 32)
a=" ".join(a.split())
print(a)
Outupt:
দেশের রাজনীতি দিনকে দিন পচে যাচ্ছে। সুস্থ থাকা দায়।