如何使用python在urdu文本中应用正则表达式

时间:2018-09-25 04:44:37

标签: python regex tweepy

我想应用一个正则表达式来消除乌尔都语文本中的英文字符数字和符号。我正在从乌尔都语的Twitter中提取推文,并且希望删除除乌尔都语和表情符号之外的所有内容。

这是我的输出

;00;RT @MeFixerr: شہباز شریف صاحب اس 
لگن سے جھوٹ پہ جھوٹ بول رہے ہیں جیسے 
اسمبلی پاکستان کی نہیں اسپین کی 
ہو جہاں کسی کو اردو نہیں آتی 

这是我的代码

for tweet in tweepy.Cursor(api.search, q="اردو", rpp=10).items(10):
    msg = [tweet.text] 
    msg = tuple(msg)                    
    msgs.append(msg)
    df = pd.DataFrame(msgs)
    df.to_csv('ae3214.txt', sep = ';', line_terminator = '', encoding = 'UTF-8')

1 个答案:

答案 0 :(得分:2)

尝试使用flags=re.UNICODE

例如:

import re
s = """;00;RT @MeFixerr: شہباز شریف صاحب اس 
لگن سے جھوٹ پہ جھوٹ بول رہے ہیں جیسے 
اسمبلی پاکستان کی نہیں اسپین کی 
ہو جہاں کسی کو اردو نہیں آتی """

print(re.sub(r"[A-Za-z0-9@;:]", "", s, flags=re.UNICODE))    #Replaces English letters, numbers and symbols like @;: