Setidaknya tiga cara:
Ekspresi reguler:
var result = /[^/]*$/.exec("foo/bar/test.html")[0];
... yang mengatakan "ambil rangkaian karakter yang tidak mengandung garis miring" ( [^/]*
) di akhir string ( $
). Kemudian mengambil karakter yang cocok dari objek pertandingan yang dikembalikan dengan mengindeks ke it ( [0]
); dalam objek yang cocok, entri pertama adalah seluruh string yang cocok. Tidak perlu untuk menangkap kelompok.
Contoh langsung
Menggunakan lastIndexOf
dan substring
:
var str = "foo/bar/test.html";
var n = str.lastIndexOf('/');
var result = str.substring(n + 1);
lastIndexOf
melakukan seperti yang dilakukannya: Ia menemukan indeks kemunculan terakhir dari sebuah karakter (baik, string) dalam sebuah string, mengembalikan -1 jika tidak ditemukan. Sembilan dari sepuluh Anda mungkin ingin memeriksa nilai yang dikembalikan ( if (n !== -1)
), tetapi di atas karena kami menambahkan 1 ke dalamnya dan memanggil substring, kami akhirnya melakukan str.substring(0)
yang hanya mengembalikan string.
Menggunakan Array#split
Sudhir dan Tom Walters membahas hal ini di sini dan di sini , tetapi hanya untuk kelengkapan:
var parts = "foo/bar/test.html".split("/");
var result = parts[parts.length - 1]; // Or parts.pop();
split
membagi string menggunakan pembatas yang diberikan, mengembalikan larik.
The lastIndexOf
/ substring
solusi adalah mungkin yang paling efisien (meskipun satu selalu harus berhati-hati mengatakan apa-apa tentang JavaScript dan kinerja, karena mesin bervariasi secara radikal dari satu sama lain), tetapi jika Anda melakukan ini ribuan kali dalam satu lingkaran, itu doesn tidak masalah dan saya akan berusaha untuk kejelasan kode.
Anda tidak memerlukan jQuery, dan ada banyak cara untuk melakukannya, misalnya:
Dimana myString berisi string Anda.
sumber
sumber
Mencoba;
sumber
Ketika saya tahu stringnya akan cukup pendek maka saya menggunakan satu liner berikut ... (ingat untuk menghindari garis miring terbalik)
peringatan muncul dengan
picture name.jpg
sumber
Sekarang Anda memiliki last.htm di string jalur.
sumber
berat ringan
dimana
start = Required
. Posisi tempat memulai ekstraksi. Karakter pertama ada di indeks 0`.end = Optional
. Posisi (hingga, tetapi tidak termasuk) tempat untuk mengakhiri ekstraksi. Jika dihilangkan, ini mengekstrak sisa string.ATAU
sumber
Jquery:
Javascript:
Ganti '_' || '/' untuk kebutuhan Anda sendiri
sumber
dan untuk pertanyaan yang ditanyakan di url (ditanyakan untuk satu kemunculan '=') ::
[ http://stackoverflow.com/questions/24156535/how-to-split-a-string-after-a-particular-character-in -jquery] [1]
sumber
Coba ini:
sumber