2010-11-21 19 views
1


Aşağıdaki dizesi vardır:jQuery - Yeni dize dize gelen özel dize çıkarın ve dönüş

var my_fruits = "Apples, Bananas, Mangos, Blackberries, Oranges"; 

ben "Mango" (veya bir ad vererek başka meyve) kaldırmak istediğiniz yeni böylece dize şöyle görünecektir:

"Apples, Bananas, Blackberries, Oranges". 

Bunu JQuery ile/olmadan nasıl yapabilirim?
Önceden teşekkürler.

Selamlar

cevap

1

Bir normal bir ifade kullanarak değiştirme gerçekleştirebilirsiniz:

myFruits = myFruits.replace(/\bMangos(, |$)/gi, ""); 

\b bir kelime sınırı eşleşir.
(, |$), ya da dizenin sonuna eşleşecektir.

+0

da teşekkürler! –

+0

Bu, "ya da herhangi bir başka meyve vermeyecek şekilde" bölüm –

+0

açıklığa uymaz: meyve adı (kaldırılacak olan) baştan tanımlanır. nasıl olurdum, eğer değişkenim varsa "Mangos" yerine "Muz" dır? –

2

Bir yaklaşım, bir dizi kullanarak uisng, böyle, sen virgül dayalı parçalanması sonucunda oluşturmak bir dizi filtre $.grep() kullanabilirsiniz:

var my_fruits = "Apples, Bananas, Mangos, Blackberries, Oranges"; 
var result = $.grep(my_fruits.split(', '), function(v) { return v != "Mangos"; }).join(', '); 
alert(result); 

You can test it here. Veya (eğer filtrelemek ne geçmek istiyorum çünkü) işlevi şeklinde:

function filterOut(my_str, t) { //string, term 
    return $.grep(my_str.split(', '), function(v) { return v != t; }).join(', '); 
} 

You cant test that version here.

+0

çok güzel! Teşekkürler –