2016-11-21 6 views
0

私は、文字 '@'とその後ろにある未定義の文字の出現をすべて出力するようにpythonを取得しようとしています。ドキュメント全体を ''で分割してリストに入れ、リストをスライスする必要があるかどうか分かりませんか?私はすべてのプログラミングにとって非常に新しいです。Pythonはすべて同じ文字で始まる複数の異なる文字列を返す

これは私が試したことです。これよりも基本的に離れている他のものがたくさんあります。

import re 

#open negativetweets and name it tweets_obj 
with open('negative_tweets.txt') as tweets_obj: 
    string=tweets_obj.read().replace('/n', '') 

wordlist=[] 

for word in string: 
    wordlist.append(word) 


re.match('@', wordlist) 
+0

で始まるすべての「言葉」を含める必要があります言及しますいくつかのサンプルデータ、および入出力シナリオがあります。 – ospahiu

答えて

0

ここではすべてのユーザーのコメントを取得しようとしていると仮定します。スペースでつぶやくつぶやきは、始めるのが正しいと思う。あなたは、単に言葉で始まるを探すためにSTARTSWITHを(「@」)使用することができます「@」

string=tweets_obj.read().replace('\n', ' ') 
mentions = [] 
mentions.append(i for i in string.split(' ') if i.startswith('@')) 

提供することが有用であろうリストは、「@」

+0

改行を削除すると、行であったものの末尾にある '@'の言葉が次にハイライトされることになります。例えば、 'hi @user \ nhi'は' hi @ userhi'に変わり、 @ userhiのユーザー。 – TigerhawkT3

+0

が編集されました。 '\ n'を ''の代わりに ''のスペースに置き換えると、この問題は解決されます。 –

+1

'replace 'の必要は全くありません。これは1行にすることができます。 '记述= [tweets_obj.read()内の単語の単語.startswith( '@')]'のsplit()。 – TigerhawkT3

関連する問題