0

これについてアドバイスが必要です...ツイートのコレクションがあります

Mon Apr 06 22:19:45 PDT @switchfoot http://twitpic.com/2y1zl - Awww, that's a bummer. :( You shoulda got David Carr of Third Day to do it. ;D
Mon Apr 06 22:19:49 PDT is upset that he can't update his Facebook by texting it... and might cry as a result :( School today also. Blah!
Mon Apr 06 22:19:53 PDT @Kenichan I dived many times for the ball. Managed to save 50% :( The rest go out of bounds
Mon Apr 06 22:19:57 PDT my whole body feels itchy and like its on fire :(

このMon Apr 06 22:19:57 PDTを削除するにはどうすればよいですか? 正規表現を使用していますか?

4

6 に答える 6

2

これが文字列の場合は、単純に最初の行を分割しますPDT:

for line in tweets.splitlines():
    print line.split(' PDT ', 1)[1]

最初に出現した文字PDT(スペースを含む) で行が分割され、結果の後半が出力されます。

しかし、そもそも文字列を出力するコードが日付を追加しないようにすることはできますか?

于 2012-11-15T13:25:13.297 に答える
2
for line in lines:
    print line[24:]

日付/時刻の形式が常に同じであれば、単純かもしれません。

于 2012-11-15T13:26:15.890 に答える
1

それらがすべて同じ方法で保存されている文字列である場合は、分割するだけです。

tweet = "Mon Apr 06 22:19:57 PDT SomeGuy Im not white enough to be excited for a new version of Windows".

tweet= tweet.split(None, 5)[-1]

つぶやきの結果

「SomeGuy 私は Windows の新しいバージョンに興奮するほど白人ではありません」

于 2012-11-15T13:31:29.900 に答える
0

それを単語のリストに分割し、最初の 6 つを削除すると、タイムゾーンが変わっても一貫性が保たれる可能性が高くなります。

clean_tweets = []

for tweet in tweets:
    words = tweet.split()
    del words[0:5]
    clean_tweet = " ".join(words)
    clean_tweets.append(clean_tweet)

デフォルトでは、split()はスペースで分割されるため、分割線を指定する必要はありません。

于 2012-11-15T14:29:48.773 に答える
0

常にPDTになるとは限らないため、PDTを使用できないと思います。文字列で最も簡単に識別できる部分は [0-9]+:[0-9]+:[0-9]+ - 時間です。

/^.*[0-9]+:[0-9]+:[0-9]+\s+[A-Z]{3}\s*(.*)$/

時刻の後の文字列と 3 文字のタイム ゾーンをすべて大文字でキャプチャします。

于 2012-11-15T16:13:45.580 に答える