Voglio sostituire l'ultimo indice di virgola (,
) in stringa con and
.Sostituisci ultimo indice di, con e in jQuery/JavaScript
es. a,b,c
con 'a,b and c'
es q,w,e
con q,w and e
Voglio sostituire l'ultimo indice di virgola (,
) in stringa con and
.Sostituisci ultimo indice di, con e in jQuery/JavaScript
es. a,b,c
con 'a,b and c'
es q,w,e
con q,w and e
lastIndexOf
trova l'ultimo indice della stringa parametro passato in esso.
var x = 'a,b,c';
var pos = x.lastIndexOf(',');
x = x.substring(0,pos)+' and '+x.substring(pos+1);
console.log(x);
è anche possibile utilizzare questa funzione
function replace_last_comma_with_and(x) {
var pos = x.lastIndexOf(',');
return x.substring(0, pos) + ' and ' + x.substring(pos + 1);
}
console.log(replace_last_comma_with_and('a,b,c,d'));
Questa regex dovrebbe fare il lavoro
"a,b,c,d".replace(/(.*),(.*)$/, "$1 and $2")
provare il seguente
var x= 'a,b,c,d';
x = x.replace(/,([^,]*)$/, " and $1");
Prova
var str = 'a,b,c', replacement = ' and ';
str = str.replace(/,([^,]*)$/,replacement+'$1');
alert(str)
Un ciclo semplice vi aiuterà a uscire
prima trovare l'indice di tutti, nella stringa utilizzando,
var str = "a,b,c,d,e";
var indices = [];
for(var i=0; i<str.length;i++) {
if (str[i] === ",") indices.push(i);
}
indices = [1,3,5,7] as it start from 0
len = indices.length()
str[indices[len - 1]] = '.'
Questo risolverà il vostro scopo.