2013-08-28 51 views
0

我正在創建一個項目,我將收到推文列表(Twitter),然後檢查dictionary中是否有單詞,其中包含某些值。我已經得到我的代碼走的話,但我不知道如何消除像符號:, . "將單詞分成列表,除了符號

下面的代碼:

def getTweet(tweet, dictionary): 
score = 0 
seperate = tweet.split(' ') 
print seperate 
print "------"  
if(len(tweet) > 0): 
    for item in seperate: 
     if item in dictionary: 
      print item 
      score = score + int(dictionary[item]) 
    print "here's the score: " + str(score) 
    return score 
else: 
    print "you haven't tweeted a tweet" 
    return 0 

這裏的參數/鳴叫,將進行檢查:

getTweet("you are the best loyal friendly happy cool nice", scoresDict) 

任何想法?

回答

0

在進行拆分之前,請用空格替換字符,然後拆分空格。

import re 

line = ' a.,b"c' 
line = re.sub('[,."]', ' ', line) 

print line # ' a b c' 
+0

可能不是最好的,因爲你必須列舉什麼是標點符號。更好的是MatteoD的模式'r'[^ \ w]''(不是單詞)。 –

+0

這取決於數據和意圖:你想分裂它''或'藍棕色'或'N_t'? – tom10

1

如果你想擺脫所有非字母數字值,你可以嘗試:

import re 
re.sub(r'[^\w]', ' ', string) 

的標誌[^ \ W]會做的伎倆爲您服務!

+0

爲什麼不使用'r'\ W''模式? –

+0

不妨're.split('\ W *',tweet)',但我認爲這是重複的。 –

+0

我做了你所說的話,然後把這些單詞變成了一個列表。但是,這是發生了什麼事。 '代碼'你是最好的忠誠的友好的快樂酷好(功能已取出符號,但是當創建到列表中時,它將收回符號) ['你','是','the;',''最佳]」, '忠誠[', '友好', '高興', '酷', '好'] ------ 友好 快樂 酷 不錯 這裏的成績:它只有9(當時分裂沒有符號的話)對不起,我是Python的noob。 –

相關問題