2016-10-28 4 views
-4

私は広範囲に検索しましたが、うまくいく答えが見つかりません。リンクまたは "既に回答済み"のレスポンスをテストしてください。私は3時間探しています。Rubyでこの文字列からすべてのURLをスキャン方式で引き出します

ここは私の文字列です。 http(s)がない場合でも6つのURLをすべて引き出します。

は「この文字列は、それはGoogle.comとGoogle.com/stuffを持っているいくつかのurls.For例があり、その後、あなたはJoe.mysite.coを見ることができますし、http://pete.comこれらhttps://wtf.netまたはhttp://mystuff.com/apathe/433のように検出されなければならないすべてのものです」

は、
+0

を抽出するためのTwitter textを使用することができます。まずいくつかのコードを書いてみてください。 –

+0

しました。誰もが任意の文字列からすべてのURLを引き出したことはありますか? – slindsey3000

+4

はい。 URLにマッチする正規表現があります。あなたはいくつかのコードを書いているかもしれませんが、あなたはそれを私たちに示していません。これまでに書いたコードのいくつかを載せて見てください。 –

答えて

2

考えるあなたは、私たちは、コードの書き込みサービスではありません、URLの

+0

これが最良の方法です。宝石のドキュメントは不足していますが、宝石をインストールするとすべてのURLが消えてしまいます。 Twitter :: Extractor.extract_urls_with_indices(content) 'またはこれをURLの' Twitter :: Extractor.extract_urls(content) 'にのみ使用してください。 – slindsey3000

+0

ここには、私が何をしようとしているのかに関するすべてのdefのファイルがあります:// github。 com/twitter/twitter-text/blob/master/rb/lib/twitter-text/extractor.rb – slindsey3000

+0

更新:Twitterのテキストはとても役に立ちます。私がそれを持っている問題は、あなたが投稿を作成するときです。その後、リンクに変換し、編集して再編集します。本当に物事を乱すことになります。私は今、りんくう宝石を使用しています。理想的ではありません。 httpを持たないリンクは見つかりません。しかし、私のユーザーは、正しいURLが必要であることを認識する必要があります。これは簡単な問題ではありません – slindsey3000

1

sあなたの文字列

s.scan(/((http(s)?:\/\/)?(\w*\.){0,1}(\w)+\.(co(m)?|net)+(\/(\w)*)*)/).map(&:first) 
=> ["Google.com", "Google.com/stuff", "Joe.mysite.co", "http://pete.com", "https://wtf.net", "http://mystuff.com/apathe/433"] 
+0

これをチェックさせてください。私はそれがどんな有効なURLのためにもより一般的だったと思います。私が持っている例文は単なる例です。 – slindsey3000

+0

これは動作しません。私は私が与えた例のために働いていません... – slindsey3000

+0

私は私の答えを更新しました。それを確認してください。 – Ursus

関連する問題