2011-01-31 18 views

cevap

3

replace işlevini kullanabilirsiniz. Düzenli ifadeler ile

str.replace(regexp|substr, newSubstr|function) 
69

kullanma replace() güçlü/en esnektir. Ayrıca, bir arama kalıbının her örneğini JavaScript’te global olarak değiştirmenin tek yolu da budur. replace()'un regex olmayan varyantı sadece ilk örneği değiştirecektir.

Örneğin

:

var str = "foo gar gaz"; 

// returns: "foo bar gaz" 
str.replace('g', 'b'); 

// returns: "foo bar baz" 
str = str.replace(/g/gi, 'b'); 

İkinci örnekte, sondaki /gi genellikle istediğim şey küçük harf duyarsız ve (sadece ilk örneği değiştirilmesi gerektiğini anlamına gelir) küresel değiştirilmesi, gösterdiğinde sizi dizeleri değiştiriliyor. için

, karakterleri kaldırın yerine boş bir dize kullanın:

var str = "foo bar baz"; 

// returns: "foo r z" 
str.replace(/ba/gi, ''); 
+1

İyi cevap. Bu arada, str.replace ('g', 'b'); 'kendi kendine çalışmaz. Str = str.replace ('g', 'b') kullanarak '' cevabı daha iyi hale getirirdi. – Yuci

3

Bu eski olduğunu biliyorum ama bir bölünme yaparsanız o zaman yani belirli bir karakterin tüm oluşumlarını kaldırır katılmak:

var str = theText.split('A').join('') 

belli ki harfe değil, dizesinden 'A' tüm tekrarlarını kaldıracaktır duyarlı

+1

Bu bir yerinde işlev değil, bu yüzden 'theText = theText.split (' A ') yapmalısınız, bunun için buna (' ') 'katılın. Bu komut, parantez gibi garip karakterler için özellikle yararlıdır. – cameronroytaylor

+0

Yorumunuzun ışığında güncellendi – atamata

14

Oneliner (aynı anda birden fazla) karakterleri LİSTESİ kaldırmak - örneğin telefon numarasından +,-, ,(,) kaldırın:

var str = "+(48) 123-456-789".replace(/[-+()\s]/g, ''); // result: "48123456789" 

Biz ([ ve ]

arasında istenmeyen karakterleri koymak düzenli ifade [-+()\s] kullanmak "\s" 'boşluk' karakterinden kaçış - daha fazla bilgi için google 'karakter regexp'de içeri kaçıyor')

2

Şimdiye kadar kimsenin bahsettiği başka bir yöntem de, substr yöntemidir. dizgiler başka bir dizeden dışarı üretmek için kullanılır. Bu, dizginizin tanımlanmış uzunluğunu ve kaldırdığınız karakterlerin dizenin her iki ucunda veya dizenin bazı "statik boyutunda" olması durumunda kullanışlıdır.