Birden çok boşluk içeren bir dizem var. Bunları bir artı sembolüyle değiştirmek istiyorum. Kullanabileceğimi düşündüm
var str = 'a b c';
var replaced = str.replace(' ', '+');
ancak yalnızca ilk oluşumun yerini alır. Tüm olayların yerini almasını nasıl sağlayabilirim?
g` değiştiricisiyle birlikte düzenli bir ifade kullanın:
var replaced = str.replace(/ /g, '+');
JavaScript ve ActionScript ile Düzenli İfadeleri Kullanma]1 bölümünden:
/g "global" eşleştirmeyi etkinleştirir. replace() yöntemini kullanırken, yalnızca ilk eşleşme yerine tüm eşleşmeleri değiştirmek için bu değiştiriciyi belirtin.
Bazı replaceAll seçeneklerine bakmanız gerekir
str = str.replace(/ /g, "+");
bu, bir replaceAll yapmanın düzenli ifade yoludur.
function ReplaceAll(Source, stringToFind, stringToReplace) {
var temp = Source;
var index = temp.indexOf(stringToFind);
while (index != -1) {
temp = temp.replace(stringToFind, stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
}
String.prototype.ReplaceAll = function (stringToFind, stringToReplace) {
var temp = this;
var index = temp.indexOf(stringToFind);
while (index != -1) {
temp = temp.replace(stringToFind, stringToReplace);
index = temp.indexOf(stringToFind);
}
return temp;
};