Ruby是否内置了some_string.starts_with("abc")
方法?
答案 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