Compare commits
	
		
			3 Commits 
		
	
	
		
			master
			...
			Bug474-Ren
		
	
	| Author | SHA1 | Date | 
|---|---|---|
|  | 35205d2066 | |
|  | ce2af6665d | |
|  | 3ca66d147c | 
|  | @ -20,6 +20,6 @@ class WordFreq: | |||
|      | ||||
| 
 | ||||
| if __name__ == '__main__': | ||||
|     f = WordFreq('BANANA; Banana, apple ORANGE Banana banana.') | ||||
|     f = WordFreq('i\'m BANANA; Banana, apple ORANGE Bana-na/////,./;\'[]-=---\'/-banana.') | ||||
|     print(f.get_freq()) | ||||
| 
 | ||||
|  |  | |||
|  | @ -8,6 +8,7 @@ import string | |||
| import operator | ||||
| import os, sys # 引入模块sys,因为我要用里面的sys.argv列表中的信息来读取命令行参数。 | ||||
| import pickle_idea | ||||
| import re | ||||
| 
 | ||||
| def freq(fruit): | ||||
|     ''' | ||||
|  | @ -39,19 +40,26 @@ def file2str(fname):#文件转字符 | |||
| 
 | ||||
| 
 | ||||
| def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用时才给s赋值。 | ||||
|     special_characters = '_©~=+[]*&$%^@.,?!:;#()"“”—‘’' # 把里面的字符都去掉 | ||||
|     '''special_characters = '_©~=+[]*&$%^@.,?!:;#()"“”—‘’'  #把里面的字符都去掉 | ||||
|     for c in special_characters: | ||||
|         s = s.replace(c, ' ') # 防止出现把 apple,apple 移掉逗号后变成 appleapple 情况 | ||||
|     s = s.replace('--', ' ') | ||||
|     s = s.replace('--', ' ')''' | ||||
|     cop = re.compile("[^a-z^A-Z^\\']")#通过正则表达式保留英文字符和'特殊字符 | ||||
|     s=cop.sub(' ' , s) | ||||
|     s = s.strip() # 去除前后的空格 | ||||
|     #s=keep_need_punctuation(s,'-') | ||||
|     s=keep_need_punctuation(s,'\'') | ||||
|     return s | ||||
| 
 | ||||
|     if '\'' in s: | ||||
| 
 | ||||
| def keep_need_punctuation(s,need):#用于保留特定的字符 | ||||
|     if need in s: | ||||
|         n = len(s) | ||||
|         t = ''  # 用来收集我需要保留的字符 | ||||
|         for i in range(n):  # 只有单引号前后都有英文字符,才保留 | ||||
|             if s[i] == '\'': | ||||
|             if s[i] == need: | ||||
|                 i_is_ok = i - 1 >= 0 and i + 1 < n | ||||
|                 if i_is_ok and s[i-1] in string.ascii_letters and s[i+1] in string.ascii_letters: | ||||
|                 if i_is_ok and s[i - 1] in string.ascii_letters and s[i + 1] in string.ascii_letters: | ||||
|                     t += s[i] | ||||
|             else: | ||||
|                 t += s[i] | ||||
|  | @ -59,7 +67,6 @@ def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用 | |||
|     else: | ||||
|         return s | ||||
| 
 | ||||
| 
 | ||||
| def sort_in_descending_order(lst):# 单词按频率降序排列 | ||||
|     lst2 = sorted(lst, reverse=True, key=lambda x: (x[1], x[0])) | ||||
|     return lst2 | ||||
|  |  | |||
		Loading…
	
		Reference in New Issue