

ツイートからRTのみのアカウントを取得したいです。

下記の方法でRTと空白のみを削除するようにしましたが、@mikipddw2on11の文字だけ取得するにはどのように設定すればよろしいでしょうか？  
＊ツイート

RT @mikipddw2on11: 今日の天気 #PR <https://t.covIC68vSr4545>

*RT @mikipddw2on11:の文字から始まりますが、別のツイートからRTがない場合  
今日の天気から文字はじめます。

**コード**

[code]

     a = tweet.text.replace('\n','').replace('RT ','').replace(':','').split(' ')[0]
    
[/code]

**結果**

[code]

    ['RT @mikipddw2on11']
    
[/code]


CC BY-SA 4.0
2019-10-10T13:57:57.757
59622
2019-10-10T18:25:36.850
2019-10-10T15:44:53.787
19110
18859
question
python python3
文字列からscreen_nameだけを取得する


@mikipddw2on11
の部分を正規表現でマッチさせる方法があります。たとえば「`@`から始まって`:`で終わる最初の部分」としてマッチさせるのは如何でしょうか。

[code]

    import re
    
    content1 = "RT @examplename: 今日の天気"
    content2 = "今日の天気"
    pattern = re.compile('^RT (@[^:]+):')
    
    result1 = pattern.match(content1)
    
    if result1:
        print(result1.group(1))
    else:
        print("リツイートではないです")
    
    result2 = pattern.match(content2)
    
    if result2:
        print(result2.group(1))
    else:
        print("リツイートではないです")
    
[/code]

出力

[code]

    @examplename
    リツイートではないです
    
[/code]


CC BY-SA 4.0
2019-10-10T16:09:16.170
59623
2019-10-10T16:09:16.170
19110
59622
answer


tweetがどんなデータ形式かわからないので、正確な答えは返せないかも知れないです。

公式のTwitterのドキュメントから想像して答えます。[Tweet
Object](https://developer.twitter.com/en/docs/tweets/data-
dictionary/overview/intro-to-tweet-json#retweet)  
質問者さんのtweetにはリンク先のjsonデータが代入されていると仮定します。  
そうすると以下でとれるのではないでしょうか？

[code]

    json_obj['tweet']['retweeted_status']['user']['screen_name']
    
[/code]

User Objectのドキュメントを見ると、screen_nameは@の後ろに対応しているみたいです。[User
Object](https://developer.twitter.com/en/docs/tweets/data-
dictionary/overview/user-object)

もしtweet.textから取りたいのであれば、split関数を使うのが楽だと思います

[code]

    tweet.text.split(' ')[1][1:]
    
[/code]


CC BY-SA 4.0
2019-10-10T18:25:36.850
59625
2019-10-10T18:25:36.850
36129
59622
answer