Jaki jest najlepszy sposób na sprawdzenie, czy ciąg znaków zaczyna się innym w Rubim (bez szyn)?
ruby
string
startswith
Guillaume Coté
źródło
źródło
Odpowiedzi:
[edytuj] To jest coś, czego nie wiedziałem przed tym pytaniem:
start_with
przyjmuje wiele argumentów.źródło
start_with?
, ale MRI 1.9 tak, jak robi to Rails.String#start_with?
.start_with?
. Wydaje mi się, że pomyliłem się, kiedy załadowałem irb, aby spróbować.starts_with?
, która w wersji 1.8.7 i nowszych jest aliasowana dostart_with?
.Ponieważ zaprezentowano tutaj kilka metod, chciałem dowiedzieć się, która z nich jest najszybsza. Używając Ruby 1.9.3p362:
Wygląda na to, że
start_with?
jest najszybszy z całej paczki.Zaktualizowane wyniki dla Rubiego 2.2.2p95 i nowszej maszyny:
źródło
"FooBar".downcase.start_with?("foo")
.Metoda, o której mówi steenslag, jest zwięzła i biorąc pod uwagę zakres pytania, należy ją uznać za poprawną odpowiedź. Jednak warto również wiedzieć, że można to osiągnąć za pomocą wyrażenia regularnego, którego, jeśli nie znasz jeszcze języka Ruby, jest ważną umiejętnością do nauczenia się.
Zagraj w Rubular: http://rubular.com/
Ale w tym przypadku następująca instrukcja ruby zwróci prawdę, jeśli ciąg po lewej stronie zaczyna się od „abc”. \ A w dosłownym wyrażeniu regularnym po prawej stronie oznacza „początek łańcucha”. Pobaw się rubularem - stanie się jasne, jak to działa.
źródło
podoba mi się
źródło
[/\Astr/]
tutaj. Twoje wyrażenie regularne również pasuje"another\nstring"
.