Ruby:如果匹配则返回字符串的第一个字符,如果没有匹配则返回nil?

标签 ruby

是否有内置的方法来获取字符串中字符的第一个匹配项或 nil。

我可以得到这样的第一个角色

'word'.match('o').to_s

但是如果没有匹配它给出 "" 而不是 nil

最佳答案

使用String#[match_str] :

If a match_str is given, that string is returned if it occurs in the string.

Returns nil if (...) the match string cannot be found.

'word'['o'] #=> 'o'
'word'['q'] #=> nil

[] 方法非常通用,您还可以通过不同的方式传递正则表达式或索引。

关于Ruby:如果匹配则返回字符串的第一个字符,如果没有匹配则返回nil?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32141555/

相关文章:

ruby - ruby 代码Logstash中的功能

ruby - 一元运算符的运算符优先级

ruby-on-rails - Rspec 模型方法在由 let 创建时返回 nil

ruby - 非 Rails 应用程序中的 DatabaseCleaner 错误

ruby - 在脚本中创建NotificationHub(首选Ruby)

ruby - '在 rbuf_fill 中救援':Timeout::Error (Timeout::Error)

ruby-on-rails - Rails Devise Routes : If user signed in, 指向索引。否则,指向新用户 session

ruby-on-rails - Ruby 版本 >= X 与当前版本不兼容

javascript - js.erb 传递参数错误

ruby-on-rails - 如何通过file_field标签限制只能上传图片?