Какой лучший способ найти, если строка начинается с другой в Ruby (без рельсов)?
ruby
string
startswith
Гийом Котэ
источник
источник
Ответы:
[править] Это то, чего я не знал до этого вопроса:
start_with
принимает несколько аргументов.источник
start_with?
, но MRI 1.9 делает, как и Rails.String#start_with?
.start_with?
. Я думаю, что я опечатал это, когда я загрузил IRB, чтобы попробовать это.starts_with?
, к которому в 1.8.7 и выше добавлен псевдонимstart_with?
.Поскольку здесь представлено несколько методов, я хотел выяснить, какой из них был самым быстрым. Используя Ruby 1.9.3p362:
Похоже,
start_with?
это самый быстрый из всех.Обновлены результаты с Ruby 2.2.2p95 и более новой машиной:
источник
"FooBar".downcase.start_with?("foo")
.Метод, упомянутый steenslag, лаконичен, и с учетом объема вопроса его следует считать правильным ответом. Однако также стоит знать, что этого можно достичь с помощью регулярного выражения, которое, если вы еще не знакомы с Ruby, является важным навыком, который необходимо изучить.
Поиграй с Rubular: http://rubular.com/
Но в этом случае следующий оператор ruby вернет true, если строка слева начинается с 'abc'. Символ \ A в литерале регулярных выражений справа означает «начало строки». Поиграйте с Rubular - станет понятно, как все работает.
источник
мне нравиться
источник
[/\Astr/]
здесь. Ваше регулярное выражение также соответствует"another\nstring"
.