Ruby有一个内置方法的string.startswith(“abc”)吗?

时间:2010-11-09 03:51:35

标签: ruby

Ruby是否内置了some_string.starts_with("abc")方法?

4 个答案:

答案 0 :(得分:317)

它被称为String#start_with?,而不是String#startswith:在Ruby中,boolean-ish方法的名称以?结尾,方法名称中的单词用_分隔。不确定s去了哪里,就我个人而言,我更喜欢String#starts_with?而不是String#start_with?

答案 1 :(得分:40)

您的问题标题和您的问题正文有所不同。 Ruby 没有starts_with?方法。 Rails ,这是一个Ruby 框架,然而, ,正如sepp2k所述。请参阅他对其文档链接的答案的评论。

你总是可以使用正则表达式:

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

^表示正则表达式中的“字符串开头”

答案 2 :(得分:17)

如果这是针对非Rails项目的,我会使用String#index

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

答案 3 :(得分:5)

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

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