2つの異なるタグの文字列を解析し、それぞれをデータベースに格納したいとします。これらのtag1とtag2を呼び出してみましょう。私はdelimeterを持っています、 "?#"はtag1とtag2の間の分割です。Rubyで文字列を解析してデータベースに保存する
と仮定
t = "random text blah firsttag?#secondtag more blah"
目標:TAG1 "はfirsttag" であるべきであり、TAG2は、先行または後続のランダムテキストなしで "secondtag" でなければなりません。それぞれは、データベースにオブジェクトとして格納する必要があります。
私のような何か試してみました:
t.split
をそれは
["random text blah firsttag", "secondtag more blah"]
を返し、ランダムなテキストを含んでいます。どちらの方向にも最初のスペースに到達したら、スプリットを停止するにはどうすればよいですか?
私は、複数のタグのペアが文字列である場合、例えば、場合、これはまた仕事したい:
m = "random firsttag#?secondtag blah blah 1sttag#?2ndtag blah blah blah"
私はルビーやレールの両方にかなり新しいので、私は本当にあなたに感謝これを手伝ってください!
はまず者がtag?#tag2
あるテキストの興味深い部分をキャプチャしてみましょう
tags = t.match(/\S+\?#\S+/)[0].split('?#')
説明:
ありがとうパブロ、私は特に有用な正規表現ウォークスルーを見つけた! – s2t2
問題ありません!歓声 –
フォローアップの質問:これらの解析されたスニペットをデータベースに保存するにはどうすればよいですか?具体的には、Twitterの宝石を使って、データベースにツイートを保存して保存しています。上記の方法でつぶやきを解析し、スニペットを作成した関連オブジェクトクラスにインスタンスとして格納したいと思います。何か案は? – s2t2