単語の中にある記号(a-zA-Z、0-9および_で構成されていてもよい)を保持するが、他のすべての記号文字列内の記号を削除する別の方法
For example:
Input String - hell_o ? my name _ i's <hel'lo/>
Output - ['hell_o' ,'my', 'name', '_', "i's" ,'hel'lo']
私が使用しています機能:単語外
l = ' '.join(filter(None,(word.strip(punctuation.replace("_","")) for word in input_String.split())))
l = re.sub(r'\s+'," ",l)
t = str.split(l.lower())
私はこれが最善、最適な方法ではありません知っている!!誰もが、私は正規表現おそらく??試すことができます任意の選択肢を推奨していこれをする??
私が使用してみました: 周りの負の外観と尻を見て:
\W+(?!\S*[a-z])|(?<!\S)\W+
s.strip(punctuation)
re.sub('[^\w]', ' ', doc.strip(' ').lower())
- これは、単語内の句読点を削除しすぎ
*あなたは*これは、あなたが心の中でいくつかの選択肢を持っている必要があります '' '最高optimal'''の方法ではないことがわかっている場合 - (問題の)それらを記入してくださいあなたがそれらを拒否する理由、私たちは何をしないのかを知っています。 – wwii