Apa cara terbaik untuk menemukan jika string dimulai dengan yang lain di Ruby (tanpa rel)?
ruby
string
startswith
Guillaume Coté
sumber
sumber
Jawaban:
[Sunting] Ini adalah sesuatu yang saya tidak tahu sebelum pertanyaan ini:
start_with
mengambil beberapa argumen.sumber
start_with?
, tetapi MRI 1.9 tidak, seperti halnya Rails.String#start_with?
.start_with?
. Saya rasa saya salah ketik ketika saya memuat irb untuk mencobanya.starts_with?
, yang dalam 1.8.7 dan di atas hanya aliasstart_with?
.Karena ada beberapa metode yang disajikan di sini, saya ingin mencari tahu mana yang tercepat. Menggunakan Ruby 1.9.3p362:
Jadi sepertinya itu
start_with?
yang tercepat dari kelompok itu.Hasil yang diperbarui dengan Ruby 2.2.2p95 dan mesin yang lebih baru:
sumber
"FooBar".downcase.start_with?("foo")
.Metode yang disebutkan oleh steenslag sangat singkat, dan dengan lingkup pertanyaan itu harus dianggap jawaban yang benar. Namun perlu juga diketahui bahwa ini dapat dicapai dengan ekspresi reguler, yang jika Anda belum terbiasa dengan Ruby, adalah keterampilan penting untuk dipelajari.
Selamat bermain dengan Rubular: http://rubular.com/
Tetapi dalam kasus ini, pernyataan ruby berikut akan mengembalikan true jika string di sebelah kiri dimulai dengan 'abc'. The \ A dalam regex literal di sebelah kanan berarti 'awal dari string'. Bermainlah dengan rubular - akan menjadi jelas bagaimana segala sesuatu bekerja.
sumber
saya suka
sumber
[/\Astr/]
sini. Regex Anda juga cocok"another\nstring"
.