Ruby APIで取得したtweetに含まれる短縮URLの削除

nissy 36views 更新:2017年7月22日

rubyを使ってTwitter APIで取得したtweet本文は、以下の感じでjsonで返ってきます。

{:text=>
       "今日のオススメ #打ち上げ花火 第15回 港まつり 能代の花火(秋田県能代市)|花火大会2017 花火カレンダー 
        - ウォーカープラス https://t.co/ZVOTRxFQDc https://t.co/7jMn30UpYm" 
}

最後に含まれる https://t.co/ZVOTRxFQDc https://t.co/7jMn30UpYm が邪魔者なので削除したい。

ということで、URLが必ず文の最後に含まれることを利用して、以下のように処理を組んでみました。

copy_text = tweet.full_text.dup
index = tweet.full_text.index('https://t.co')
@real_text_content = copy_text.slice!(0..(index-1))

最初にdupしたのは、tweets = client.search()で取得したtweetsオブジェクトが凍結状態であったためです。
以下のようにするとエラーがでます。

tweet.full_text.slice!(0..(index-1))
// <RuntimeError: can't modify frozen object> とエラーがでる

ログイン / 新規登録してコメントする

このソースコードをストックして後で利用したり、作業に利用したソースコードをまとめることができます。

こちらもお役に立つかもしれません