字符串比较如"abcDEF"=="*DEF"

Muh*_*bal 1 ruby ruby-on-rails

我正在开发一个rails应用程序,我需要比较如下:

url == "http://localhost:3000/admin/admin_login"
Run Code Online (Sandbox Code Playgroud)

我想知道有没有办法比较像:

url == "*/admin/admin_login"
Run Code Online (Sandbox Code Playgroud)

Ily*_*lya 5

你可以使用String#include?:

url = "http://localhost:3000/admin/admin_login"
url.include?("/admin/admin_login")
=> true
Run Code Online (Sandbox Code Playgroud)

其他方式是使用String#end_with?:

url.end_with?("/admin/admin_login")
=> true
Run Code Online (Sandbox Code Playgroud)

如果要检查url是否以此参数结束,则此方法有效.


nwk*_*nwk 5

你可以使用正则表达式.

irb(main):001:0> url = "http://localhost:3000/admin/admin_login"
=> "http://localhost:3000/admin/admin_login"
irb(main):002:0> url =~ /admin\/admin_login\z/
=> 22
irb(main):003:0> url =~ /foo\/something_else\z/
=> nil
irb(main):004:0> "http://localhost:3000/admin/admin_login/bar" =~ /admin\/admin_login\z/
=> nil
Run Code Online (Sandbox Code Playgroud)