diff --git a/app/wordfreqCMD.py b/app/wordfreqCMD.py index 14dd914..10678b9 100644 --- a/app/wordfreqCMD.py +++ b/app/wordfreqCMD.py @@ -37,6 +37,14 @@ def file2str(fname):#文件转字符 f.close() #关闭 return s + +def str2chararray(str): # 字符串转字符数组 + chararray = [] + for i in range(len(str)): + chararray.append(str[i]) + return chararray + + def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用时才给s赋值。 # carr = str2chararray(s) # 字符串转字符数组 @@ -44,9 +52,22 @@ def remove_punctuation(s): # 这里是s是形参 (parameter)。函数被调用 special_characters = '&_~=+[]%^@.,?!:;#()"“”—‘’|/\\<>{}' # 把里面的字符都去掉 special_words = ('$lt', '$gt', '$') # 特殊词汇 + special_characters = '\_©~<=>+-/[]*&$%^@.,?!:;#()"“”—‘’{}|' # 把里面的字符都去掉 + for c in special_characters: s = s.replace(c, ' ') # 防止出现把 apple,apple 移掉逗号后变成 appleapple 情况 - + carr = str2chararray(s) # 字符串转字符数组 + for i, value in enumerate(carr): + if value == '&': # 遍历替换 + carr[i] = '\'' + print('sss' + s) + for j in range(1,5): + if carr[i+j] in [' ','3','9']: + carr[i + j]='' + s = ''.join(carr) # 字符数组转字符串 + print('sss'+s) + for w in special_words: # 替换字符串中的剩余特殊字符 + s = s.replace(w, ' ') s = s.replace('--', ' ') s = s.strip() # 去除前后的空格