Ruby有一个内置的some_string.starts_with("abc")方法吗?


你的题目和题体是不同的。Ruby没有starts_with?方法。Rails是一个Ruby框架,但是,正如sepp2k所指出的那样。请参阅他的回答中的评论,以获得相关文档的链接。

你可以使用正则表达式:

if SomeString.match(/^abc/) 
   # SomeString starts with abc

^在正则表达式中表示字符串的开始


你可以使用String =~ Regex。它返回字符串中完整正则表达式匹配的位置。

irb> ("abc" =~ %r"abc") == 0
=> true
irb> ("aabc" =~ %r"abc") == 0
=> false

它叫String#start_with?在Ruby中,布尔型方法的名称以?结尾。方法名中的单词用_分隔。在Rails上,你可以使用别名String#starts_with?(注意这里用的是复数——并且注意这种方法已经被弃用了)。就我个人而言,我更喜欢string# starts_with?在实际的字符串#start_with?


如果这是一个非rails项目,我将使用String#index:

"foobar".index("foo") == 0  # => true