JavaScript'te ":" karakterinden önce gelen bir dizenin bir kısmı nasıl kaldırılır?


111

Bir dize varsa Abc: Lorem ipsum sit amet, neden daha önce dizeyi kaldırmak için JavaScript / jQuery kullanabilirsiniz :dahil :. Örneğin yukarıdaki dize haline gelecektir: Lorem ipsum sit amet.


2
Soru içinde olduğu ve soru ile jquery'den daha alakalı olduğu için javascript etiketini ekledim.
Spudley

Yanıtlar:


290

Burada jQuery'ye gerek yoktur, normal JavaScript şunları yapar:

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

Veya .split()ve .pop()sürümü:

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

Veya normal ifade sürümü (bunun birkaç çeşidi):

var str = "Abc: Lorem ipsum sit amet";
str = /:(.+)/.exec(str)[1];

1
Harika yanıt, farklı çözümleri seviyorum
Aardvark

22
Dizede birden fazla varsa :, ikinci değişken , diğerlerinde olduğu gibi birinciden sonra son diziyi döndürür . JS'nin split()yönteminde bir Python tarzı yapmanıza izin verecek olan sadece n kez bölme seçeneğinin olmaması talihsiz bir durumdur .split(':', 1)[1]. (Orada olan isteğe bağlı bir numberargüman, ancak herhangi bir makul bir kişinin ne beklenir yapmaz.)
bobince

@bobince - Haklısın, burada tutarlı bir label: somethingformata sahip olduğuna dair bir varsayımda bulunuyorum, eğer durum bu değilse ilk seçeneği tercih ederim.
Nick Craver

2
Ayırıcıya göre bazı öğeleri ayırmak için bölebilir ve birleştirebilirsiniz. "Abc:Lorem_ipsum_sit_amet".split(':').slice(1).join('.');
Amritesh Anand
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.