JavaScript'teki bir dizeden karakterleri kaldırmamın farklı yolları nelerdir?Dizgeyi karakterlerden kaldırma
cevap
replace işlevini kullanabilirsiniz. Düzenli ifadeler ile
str.replace(regexp|substr, newSubstr|function)
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.
:
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, '');
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ı
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
Yorumunuzun ışığında güncellendi – atamata
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')
Ş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.
- 1. C# Ayırıcı karakterlerden ayraç karakterlerini kaldırma
- 2. YAML'deki% karakterlerden nasıl kurtulabilirim?
- 3. Nokogiri'nin kaçan karakterlerden kaçınıyor mu?
- 4. Değişken adlardaki karakterlerden kaçabilir miyim?
- 5. kaldırma
- 6. Kaldırma ve kaldırma Android NDK
- 7. Dizgeyi Düzendeki Tamsayıya Dönüştürme
- 8. Onaltılık dizgeyi tamsayıya çevirme
- 9. Dizgeyi bayt olarak
- 10. Dizgeyi tamsayı (veya sıfır)
- 11. Dizgeyi tamsayı olarak dönüştürme
- 12. Dizgeyi matematiksel değerlendirmeye dönüştürün
- 13. İkili dizgeyi tamsayıya dönüştür
- 14. Python dizgeyi float'a dönüştüremedi
- 15. bu dizgeyi nasıl kaldırılır
- 16. Bir dizgeyi async'den döndürme
- 17. Dizgeyi ostringstream'den kopyalamaktan kaçının
- 18. Veritabanındaki dizgeyi değiştirin
- 19. Bir dizi dizgeyi filtrelemek
- 20. XML PATH (I ') İÇİN: "özel" karakterlerden kaçınma
- 21. HQL'de "like" deyimindeki joker karakterlerden nasıl kaçınır?
- 22. Makefile otomatik değişkenleri dosya adlarında karakterlerden kaçmıyor
- 23. Tek ters eğik çizgiyi kaçan karakterlerden değiştirme
- 24. struts2 i18n java özellikleri, karakterlerden nasıl kaçınır?
- 25. Bir yoldaki özel karakterlerden nasıl kaçınır PHP
- 26. CRLF'yi (0D 0A) Perl'de dize kaldırma
- 27. çıkış kaldırma
- 28. Dizgeyi dizgeye ve arkaya dönüştürme
- 29. C++ Dizilime göre dizgeyi geçirme
- 30. C++: Dizgeyi dizine göre değiştir
İyi cevap. Bu arada, str.replace ('g', 'b'); 'kendi kendine çalışmaz. Str = str.replace ('g', 'b') kullanarak '' cevabı daha iyi hale getirirdi. – Yuci