0

次のような文字列があります。"something_before cl: something_after"

cl:は私のマークであり、その後のすべての単語をキャッチしたいと考えています。この場合、文字列をキャッチしたいと思います"something_after"。どうすればいいですか?

現在、私はこれをやっています: commit_log.scan(/cl: .*/)[0].gsub("cl: ", ""). しかし、このコードは醜いので、書き直すより良い方法を探しています。

4

1 に答える 1

4

マークで分ける

"something_before cl: something_after".split("cl: ").last
=> "something_after"

または後読みアサーションを使用する

"something_before cl: something_after".scan /(?<=cl: ).*/
=> [" something_after"]
于 2013-07-11T13:09:12.603 に答える