Bagaimana cara menghapus bagian dari string sebelum ":" di javascript?

111

Jika saya memiliki string Abc: Lorem ipsum sit amet, bagaimana saya bisa menggunakan JavaScript / jQuery untuk menghapus string sebelum :menyertakan file :. Misalnya string di atas akan menjadi: Lorem ipsum sit amet.

Pemenang
sumber
2
Saya menambahkan tag javascript karena ada di pertanyaan dan lebih relevan dengan pertanyaan daripada jquery.
Spudley

Jawaban:

290

Tidak perlu jQuery di sini, JavaScript biasa akan berfungsi:

var str = "Abc: Lorem ipsum sit amet";
str = str.substring(str.indexOf(":") + 1);

Atau, versi .split()dan .pop():

var str = "Abc: Lorem ipsum sit amet";
str = str.split(":").pop();

Atau, versi regex (beberapa varian ini):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];
Nick Craver
sumber
1
Jawaban yang bagus, saya menyukai solusi yang berbeda
Aardvark
22
Perhatikan jika ada lebih dari satu :string, varian kedua akan mengembalikan string setelah yang terakhir, bukan yang pertama seperti yang lain. Sangat disayangkan bahwa tidak ada opsi split-only-n-times dalam split()metode JS , yang memungkinkan Anda melakukan gaya Python .split(':', 1)[1]. (Ada adalah opsional numberargumen, tetapi tidak melakukan apa yang wajar setiap orang harapkan.)
bobince
@bobince - Anda benar, saya membuat sedikit asumsi di sini bahwa dia memiliki label: somethingformat yang konsisten , jika bukan itu masalahnya, saya akan menggunakan opsi pertama.
Nick Craver
2
Anda dapat memisahkan dan bergabung untuk melepaskan beberapa elemen berdasarkan pemisah. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand