¿Cuál es una forma aceptable de eliminar un carácter final de una cadena?Eliminar los caracteres finales de la cadena en Javascript
Por ejemplo, si tuviera una cadena:
> "item,"
Y quería quitar ' 'restante de Sólo si fueran',' s?
Gracias!
¿Cuál es una forma aceptable de eliminar un carácter final de una cadena?Eliminar los caracteres finales de la cadena en Javascript
Por ejemplo, si tuviera una cadena:
> "item,"
Y quería quitar ' 'restante de Sólo si fueran',' s?
Gracias!
uso de un simple expresión regular:
var s = "item,";
s = s.replace(/,+$/, "");
if(myStr.charAt(myStr.length-1) == ",") {
myStr = myStr.slice(0, -1)
}
Ese 'if' debería ser probablemente un' while'. – icktoofay
Ummmm ¿por qué? Si el último carácter es una coma, corta el último carácter ... Me refiero al caso de uso más probable para esto, es cuando obtienes un elemento de una matriz y haces un texto JSON-ish o algo así. Vaya como elemento de impresión del elemento foreach y "," pero luego se da cuenta, "amigo, tengo un extra", "y quiero eliminarlo". –
Él dice "," s en plural, pero estoy de acuerdo en que el título es confuso. –
Una función para recortar los caracteres finales sería:
function trimTrailingChars(s, charToTrim) {
var regExp = new RegExp(charToTrim + "+$");
var result = s.replace(regExp, "");
return result;
}
function test(input, charToTrim) {
var output = trimTrailingChars(input, charToTrim);
console.log('input:\n' + input);
console.log('output:\n' + output);
console.log('\n');
}
test('test////', '/');
test('///te/st//', '/');
¿Cómo funcionaría en '/// te/st //,'/'? –
@TomasHesse - parece funcionar Agregué un fragmento de arriba para probarlo –
Sólo quería añadir: no haga Olvide la barra diagonal inversa si reemplaza caracteres que tienen significados para expresiones regulares (por ejemplo, '.'). –