Con JavaScript, ¿cómo puedo eliminar la última coma, pero solo si la coma es el último carácter o si solo hay espacios en blanco después de la coma? Este es mi codigo. Tengo un violín de trabajo . Pero tiene un error.
var str = 'This, is a test.';
alert( removeLastComma(str) ); // should remain unchanged
var str = 'This, is a test,';
alert( removeLastComma(str) ); // should remove the last comma
var str = 'This is a test, ';
alert( removeLastComma(str) ); // should remove the last comma
function removeLastComma(strng){
var n=strng.lastIndexOf(",");
var a=strng.substring(0,n)
return a;
}
javascript
AnaMaria
fuente
fuente
Respuestas:
Esto eliminará la última coma y cualquier espacio en blanco después:
Utiliza una expresión regular:
La
/
marca al principio y al final de la expresión regular.El
,
coincide con la comaLos
\s
caracteres de espacio en blanco medios (espacio, tabulación, etc.) y los*
medios 0 o másAl
$
final significa el final de la cadenafuente
/
.The / mark the beginning and end of the regular expression
.puedes eliminar la última coma de una cadena usando el método slice (), encuentra el siguiente ejemplo :
Aquí hay un ejemplo
fuente
fuente
tiro largo aquí
fuente
La respuesta muy votada elimina no solo la coma final, sino también los espacios que siguen. Pero eliminar esos espacios siguientes no era parte del problema original. Entonces:
https://jsfiddle.net/dc8moa3k/
fuente
El problema es que eliminas la última coma en la cadena, no la coma si es lo último en la cadena. Por lo tanto, debe poner un if para verificar si el último carácter es ',' y cambiarlo si lo es.
EDITAR: ¿Es realmente tan confuso?
'Esto es una cadena aleatoria'
Su código encuentra la última coma de la cadena y almacena solo 'Esto' porque la última coma está después de 'Esto', no al final de la cadena.
fuente
puedes eliminar la última coma:
fuente
Eliminar la última coma. Ejemplo de trabajo
fuente
Primero, uno debe verificar si el último personaje es una coma. Si existe, elimínelo.
NOTA str.indexOf (',', this.length - ','. Length) se puede simplificar a str.indexOf (',', this.length - 1)
fuente