1

次のようなテキストがあります。

<p>some text ...</p><p>The post <a href="http://url_address/">text...</a> appeared first on <a href="http://url_address">some another text</a>.</p>

からすべてを削除する必要がある<p>The postため、結果は次のようになります。

<p>some text ...</p>

私はこのようにしようとしています:

text.sub!(/^<p>The post/, '')

しかし、空の文字列だけを返します...どうすれば修正できますか?

4

3 に答える 3

4

正規表現が正しくありません。<p>The post文字列の先頭にあるすべてに一致します。反対に、その位置から文字列の末尾まで一致させます。これをチェックしてください。

s = '<p>some text ...</p><p>The post <a href="http://url_address/">text...</a> appeared first on <a href="http://url_address">some another text</a>.</p>'

s.sub(/<p>The\spost.*$/, '') # => "<p>some text ...</p>"
于 2012-11-28T09:36:54.820 に答える
2

^文字列の先頭に一致するを指定しました。やったほうがいい

text.sub!(/<p>The post.*$/, '')

http://rubular.com/r/c91EbHN0Afでこれで遊んでください

于 2012-11-28T09:36:16.773 に答える
2

'^' は文字列全体の先頭に一致します。やってみる

text.sub!(/<p>The post/, '')

編集してもっと注意深く読んでください...

text.sub!(/<p>The post.*$/, '')
于 2012-11-28T09:35:52.220 に答える