xpath1.0
ではstarts-with
関数は用意されてるんですが、ends-with
は xpath2.0
からの実装になっています。
残念ながらNokogiriは xpath 1.0 しかサポートしてないので ends-with
が使えません。
代わりのやり方
例えばid
がregister
で終わる要素を取得するには
.rb
doc.xpath("//*[substring(@id, string-length(@id) - string-length('register') +1) = 'register']")
としましょう。
ダメな例
「特定の文字列の後が空白なら末尾の文字列」と確定できるかと思ったんですが、文字列にマッチしないとすべて返ってきてしまいます。
.rb
doc.xpath("//*[substring-after(@id, 'register`) = '']")
参考