@mentionsと#hashtagsを含むツイートのようなシステムを構築しています。Railsで特定の正規表現を文字列から削除する
hi [@Bob D](member:Bob D) whats the deal with [#red](tag:red)
としてデータベースに保存します:私は、コードがどのように見えるかの流れを持っている
hi @Bob P whats the deal with #red
今、私はこのようなサーバーに来るつぶやきを取る必要があります私の心の中でそれを働かせることはできません。基本的に、私は次のことを実行する必要があります。
- 任意の
[@...]
(@
から始まる構造のような配列)のための文字列をスキャンし [@Bob D](member:Bob D)
のために、すべてのものを削除するような構造(のような配列の後paranthesisを削除します。 paranthesis中)- 私も意志
(意味、[@...]
から[]
を削除)@
から始まる部分文字列を囲む括弧を削除します#
についても同じ処理を行う必要があります。私はほぼ正規表現のslice!
メソッドを使ってこれを行うことができると確信していますが、私は実際に必要な正規表現と制御フローを考え出すのに問題があります。上記のコードでの問題は、私は正規表現を理解することはできません、それは括弧を取り除くしないということである
a = "hi [@Bob D](member:Bob D) whats the deal with [#red](tag:red)"
substring = a.scan <regular expression here>
substring.each do |matching_substring| #the loop should get rid of the paranthesis but not the brackets
a.slice! matching_substring
end
#Something here should get rid of brackets
: 私はそれがこのようなものになるだろうと思います。
「[mcve]」をお読みください。あなたは正規表現を把握することはできませんか?さて、あなたが試したことを私たちに見せてください。ちょうどコードを投げ捨てるのではなく、正しいものにすることができます。それはあなたを助けるためにここにありますが、それは同じ問題を抱えて将来他の人を助けることです。しかし、あなたが試したことを見せなければ、それはできません。あなたの試みの証拠がなければ、あなたが試してみたことがないように見えます。 –
なぜ「Bob D」を「Bob P」に変更していますか? brackesを取り除くためとして –