Belirli bir dizgede '_' (alt çizgi) 'nin son oluşumunu değiştirmek için jQuery'de kolay bir yol var mı?Karakterin son geçtiği yeri dize ile değiştir
cevap
Sadece normal bir ifade olan jQuery'ye ihtiyacınız yok.
var str = 'a_b_c';
str = str.replace(/_([^_]*)$/,'$1'); //a_bc
Bu değişken replacement
içeriğiyle değiştirecektir:
Bu
son çizgi kaldıracaktırvar str = 'a_b_c', replacement = '!';
str = str.replace(/_([^_]*)$/,replacement+'$1'); //a_b!c
+1 Hurtigkarl :))) – mplungjan
@Martin Jespersen: Değiştirilecek metin alt çizgi değil, replaceMe adlı bir değişkenin içeriği? Normal ifade nasıl değiştirilmelidir? – Pierpaolo
@Pierpaolo: "RegExp" kullanarak regexp'i oluşturmalısınız, burada hepsini okuyun: https://developer.mozilla.org/en-US/docs/JavaScript/Guide/Regular_Expressions - Kaçmayı unutmayın 'replaceMe' değişkeni bu nedenle düzenli ifade –
var pos = str.lastIndexOf('_');
str = str.substring(0,pos) + otherchar + str.substring(pos+1)
son alt çizgi
değiştirmek veya olacak normal ifadeler birini kullanmak
str = str.substring(0,str.length-2)+otherchar
bir dizede geçen kömürü yerine Hayır jQuery ihtiyacı ne de düzenli ifade Birinden bir dakika içinde olsun :)
+1 -using-javascript). JQuery'nin her şeyin cevabı olmadığını bilmek önemlidir.Javascript, her şeyi jquery ile zorlamak zorunda kalmadan mükemmel bir programlama dilidir. – Spudley
@Spudley Çok doğru. Ancak burada SO, jQuery sürümü olmadan hiçbir JS cevabı tamamlanmaz;)) – mplungjan
'+ 1 '* regex için * & ***' lastIndexOf (...) 'END ***' den arama yapar performans) şu anda kabul edilen regexp bile * daha hızlı olamaz. –
, kömürü yerine, dize ters. How do you reverse a string in place in JavaScript?
'dan ayrılmanız gerektiğini düşündüm ama aynı şeyi düşünmüştüm ama daha sonra lastIndexOf 'a geri dönmek için karşılaştırma yaptık: http://jsperf.com/replace-last – fakewaffle
basit
var someString = "a_b_c";
var newCharacter = "+";
var newString = someString.substring(0, someString.lastIndexOf('_')) + newCharacter + someString.substring(someString.lastIndexOf('_')+1);
Bu kod
var str="test_String_ABC";
var strReplacedWith=" and ";
var currentIndex = str.lastIndexOf("_");
str = str.substring(0, currentIndex) + strReplacedWith + str.substring(currentIndex + 1, str.length);
alert(str);
Peki kullanabilirsiniz tut: Burada
javascript bir dize değiştirmeye yönelik bir yazıdır bu?function replaceLast(x, y, z){
var a = x.split("");
a[x.lastIndexOf(y)] = z;
return a.join("");
}
replaceLast("Hello world!", "l", "x"); // Hello worxd!
Bu mplungjan cevabı çok benzer, fakat neyse, sadece ben düşündüm (eğer hemen sonra diğer dize kullanımı yapmak gerekir ve bir dizi olarak kalmasını istiyorum özellikle) biraz daha kolay olabilir Birisi onu tercih ederse oraya koy. '-' bunu değiştirmek istiyor char veya dize ile değiştirilebilir
var str = 'a_b_c';
str = str.split(''); //['a','_','b','_','c']
str.splice(str.lastIndexOf('_'),1,'-'); //['a','_','b','-','c']
str = str.join(''); //'a_b-c'
'_' Eğer
değiştirmek istiyor Char Ve ile takas edilebilir
- 1. Vim - Satırdaki karakterin son geçtiği yeri sil
- 2. Python'da karakterin son geçtiği yeri bul Python
- 3. javascript dizesinin son geçtiği yeri değiştir
- 4. VBA Bir dizginin son geçtiği yeri bul
- 5. Bir dizeden bir dizi karakterin son geçtiği yer nasıl bulunur?
- 6. javascript'te bir kelimenin son geçtiği yeri nasıl değiştirilir? örneğin
- 7. PHP String'de bir dizenin son geçtiği yeri değiştirin mi?
- 8. Dize içindeki karakterleri değiştir
- 9. Dize içindeki tüm alfasayısal olmayan karakterleri değiştir
- 10. Belirli bir karakterin tüm örneklerini dize
- 11. JS regex: tüm basamakları dize ile değiştir
- 12. Ruby: gsub Dize ile Dosyayı Değiştir
- 13. Dize ile Son Sözlüğü Ayıkla Özgü Sözlüğü
- 14. SoapUI son nokta adresini değiştir
- 15. Dize Bul ve Değiştir Yöntem
- 16. php son karakterin bir '/' olup olmadığını kontrol etmiyorsa o zaman
- 17. Python: Regex ile değiştir
- 18. Otomatik ölçeklendirme sorunu: Karakterin sayımı
- 19. ek yeri
- 20. xcode dizedeki son karakterleri dize
- 21. Son 4 karakteri dize mi?
- 22. C# dize işleme arama ve değiştir
- 23. Listedeki son öğeye Shift recyclerview odağı değiştir
- 24. Scala nesnesinin sınıfının nasıl geçtiği
- 25. Resimlerimin Yeri
- 26. Golang: çerez ile yeri izlemesini nasıl
- 27. Objective-C Dize Sorunu Bul ve Değiştir
- 28. Aynı karakterin birden çok kez yanması
- 29. Bir dize ile başka bir dizge nasıl değiştirilir
- 30. jquery ile css'yi değiştir
Her zaman dizenin son karakteri mi? Değilse, string.lastIndexOf (arama, başlangıç) – skarmats
[jQuery'ye ihtiyacınız yok] 'a bakın (http://meta.stackexchange.com/questions/45176/when-is-use-jquery-not-a -Geçerli-cevap-to-a-javascript-soru). – zzzzBov
olası bir kopyasının [javascript'i kullanarak bir dizede son karakterler nasıl değiştirilir] (http://stackoverflow.com/questions/3829483/how-to-replace-last-occurrence-of-characters-in-a-string "jQuery gerek yok" için –