'Does Ruby have a string.startswith("abc") built in method?
Does Ruby have a some_string.starts_with("abc")
method that's built in?
Solution 1:[1]
It's called String#start_with?
, not String#startswith
: In Ruby, the names of boolean-ish methods end with ?
and the words in method names are separated with an _
. On Rails you can use the alias String#starts_with?
(note the plural - and note that this method is deprecated). Personally, I'd prefer String#starts_with?
over the actual String#start_with?
Solution 2:[2]
Your question title and your question body are different. Ruby does not have a starts_with? method. Rails, which is a Ruby framework, however, does, as sepp2k states. See his comment on his answer for the link to the documentation for it.
You could always use a regular expression though:
if SomeString.match(/^abc/)
# SomeString starts with abc
^
means "start of string" in regular expressions
Solution 3:[3]
If this is for a non-Rails project, I'd use String#index
:
"foobar".index("foo") == 0 # => true
Solution 4:[4]
You can use String =~ Regex
. It returns position of full regex match in string.
irb> ("abc" =~ %r"abc") == 0
=> true
irb> ("aabc" =~ %r"abc") == 0
=> false
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
Solution | Source |
---|---|
Solution 1 | David Ljung Madison Stellar |
Solution 2 | Nakilon |
Solution 3 | Lars Haugseth |
Solution 4 | Nakilon |