Was ist der beste Weg, um herauszufinden, ob eine Zeichenfolge in Ruby mit einer anderen beginnt (ohne Schienen)?
ruby
string
startswith
Guillaume Coté
quelle
quelle
Antworten:
[bearbeiten] Dies ist etwas, was ich vor dieser Frage nicht wusste:
start_with
nimmt mehrere Argumente.quelle
start_with?
, MRT 1.9 ebenso wie Rails.String#start_with?
.start_with?
. Ich glaube, ich habe es getippt, als ich irb geladen habe, um es zu versuchen.starts_with?
, auf die in Version 1.8.7 und höher nur ein Alias festgelegt iststart_with?
.Da hier mehrere Methoden vorgestellt werden, wollte ich herausfinden, welche am schnellsten war. Verwenden von Ruby 1.9.3p362:
Es sieht also so aus, als wäre es
start_with?
der schnellste im ganzen Haufen.Aktualisierte Ergebnisse mit Ruby 2.2.2p95 und einem neueren Computer:
quelle
"FooBar".downcase.start_with?("foo")
.Die von steenslag erwähnte Methode ist knapp und sollte angesichts des Umfangs der Frage als die richtige Antwort angesehen werden. Es ist jedoch auch wichtig zu wissen, dass dies mit einem regulären Ausdruck erreicht werden kann. Wenn Sie mit Ruby noch nicht vertraut sind, ist dies eine wichtige Fähigkeit, die Sie erlernen müssen.
Spielen Sie mit Rubular: http://rubular.com/
In diesem Fall gibt die folgende Ruby-Anweisung jedoch true zurück, wenn die Zeichenfolge links mit 'abc' beginnt. Das \ A im Regex-Literal rechts bedeutet "der Anfang der Zeichenfolge". Spielen Sie mit Rubular - es wird klar, wie die Dinge funktionieren.
quelle
ich mag
quelle
[/\Astr/]
hier verwenden. Ihre Regex stimmt auch überein"another\nstring"
.