una ultimo numeros extraer eliminar ejemplo cortar caracteres caracter cadena buscar javascript trim slice chop

ultimo - substring javascript ejemplo



JavaScript cortar/cortar/recortar el último carácter de la cadena (22)

@Jason S:

¡Puedes usar la rebanada! Solo tienes que asegurarte de saber cómo usarlo. Los números positivos son relativos al principio, los números negativos son relativos al final.

js> "12345.00" .slice (0, -1) 12345.0

Lo siento por mi grafomanía, pero la entrada fue etiquetada ''jquery'' anteriormente. Entonces, no puede usar slice () dentro de jQuery porque slice () es el método jQuery para operaciones con elementos DOM, no subcadenas ... En otras palabras, responda @Jon Erickson sugiere una solución realmente perfecta.

Sin embargo, su método funcionará con la función jQuery, dentro de Javascript simple. Debo decir, debido a la última discusión en los comentarios, que jQuery es mucho más a menudo la extensión renovable de JS que su ECMAScript más conocido.

Aquí también existen dos métodos:

como el nuestro:

string.substring(from,to) as plus si ''to'' nulled devuelve el resto de string. así: string.substring(from) positivo o negativo ...

y algunos otros - substr () - que proporcionan un rango de subcadenas y ''longitud'' solo pueden ser positivos: string.substr(start,length)

También algunos mantenedores sugieren que el último método string.substr(start,length) no funciona o funciona con error para MSIE.

Tengo una cadena, 12345.00 , y me gustaría que devuelva 12345.0 .

He analizado el trim , pero parece que solo se está recortando el espacio en blanco y el sector, por lo que no veo cómo funcionaría. ¿Alguna sugerencia?


¡Puedes usar la slice ! Solo tienes que asegurarte de saber cómo usarlo. Los números positivos son relativos al principio, los números negativos son relativos al final.

js>"12345.00".slice(0,-1) 12345.0


Aquí hay una alternativa que no creo haber visto en las otras respuestas, solo por diversión.

var strArr = "hello i''m a string".split(""); strArr.pop(); document.write(strArr.join(""));

No es tan legible o simple como una división o subcadena, pero te permite jugar con la cadena usando algunos métodos de matriz agradables, así que vale la pena saberlo.


El método más sencillo es usar el método de división de la cadena, que permite posiciones negativas (correspondientes a las compensaciones desde el final de la cadena):

var s = "your string"; var withoutLastFourChars = s.slice(0, -4);

Si necesitabas algo más general para eliminar todo después (e incluir) el último guión bajo, puedes hacer lo siguiente (siempre que se garantice que s contenga al menos un guión bajo):

var s = "your_string"; var withoutLastChunk = s.slice(0, s.lastIndexOf("_")); // withoutLastChunk == "your"


En los casos en los que desea eliminar algo que está cerca del final de una cadena (en el caso de cadenas de tamaño variable) puede combinar slice () y substr ().

Tenía una cadena con marcado, construida de forma dinámica, con una lista de etiquetas de anclaje separadas por comas. La cuerda era algo así como:

var str = "<a>text 1,</a><a>text 2,</a><a>text 2.3,</a><a>text abc,</a>";

Para quitar la última coma hice lo siguiente:

str = str.slice(0, -5) + str.substr(-4);


Para un número como su ejemplo, recomendaría hacer esto sobre la substring :

alert(parseFloat(''12345.00'').toFixed(1)); // 12345.0

Tenga en cuenta que esto en realidad redondeará el número, sin embargo, que me imagino que se desea pero tal vez no

alert(parseFloat(''12345.46'').toFixed(1)); // 12345.5


Prefiero la función de subcadena:

var str = "12345.00";

str = str.substring (0, str.length - 1);

La función de rebanada también se puede utilizar:

var str = "12345.00";

str = str.slice (-1); // Al pasar un valor negativo como primer argumento, se eliminan los caracteres del final. Es lo mismo que str.slice (0, -1)

El resultado con ambos métodos es "12345.0".


Prueba esto:

<script> var x="foo_foo_foo_bar"; for (var i=0; i<=x.length; i++) { if (x[i]=="_" && x[i+1]=="b") { break; } else { document.write(x[i]); } } </script>

También puede probar el ejemplo de funcionamiento en vivo en http://jsfiddle.net/informativejavascript/F7WTn/87/ .


Prueba esto:

var myString = "Hello World!"; myString.slice(0, -1);


Puede utilizar el método de substring de objetos de cadena de JavaScript:

s = s.substring(0, s.length - 4)

Elimina incondicionalmente los últimos cuatro caracteres de la cadena s .

Sin embargo, si desea eliminar condicionalmente los últimos cuatro caracteres, solo si son exactamente _bar :

var re = /_bar$/; s.replace(re, "");


Puede utilizar la función de substring :

var str = "12345.00"; str = str.substring(0, str.length - 1); // "12345.0"

Esta es la respuesta aceptada, pero según las conversaciones a continuación, la sintaxis de la slice es mucho más clara:

var str = "12345.00"; str = str.slice(0, -1); // "12345.0"


Qué tal si:

var myString = "12345.00"; myString.substring(0, myString.length - 1);


Si desea realizar un redondeo genérico de flotadores, en lugar de simplemente recortar el último carácter:

var float1 = 12345.00, float2 = 12345.4567, float3 = 12345.982; var MoreMath = { /** * Rounds a value to the specified number of decimals * @param float value The value to be rounded * @param int nrDecimals The number of decimals to round value to * @return float value rounded to nrDecimals decimals */ round: function (value, nrDecimals) { var x = nrDecimals > 0 ? 10 * parseInt(nrDecimals, 10) : 1; return Math.round(value * x) / x; } } MoreMath.round(float1, 1) => 12345.0 MoreMath.round(float2, 1) => 12345.5 MoreMath.round(float3, 1) => 12346.0

EDITAR: Parece que existe una función incorporada para esto, como señala Paolo. Esa solución es obviamente mucho más limpia que la mía. Use parseFloat seguido de toFixed


Una expresión regular es lo que buscas:

var str = "foo_bar"; alert(str.replace(/_bar$/, ""));


Usa la subcadena para obtener todo a la izquierda de _bar. Pero primero tienes que obtener el instr de _bar en la cadena:

str.substring(3, 7);

3 es ese comienzo y 7 es la longitud.


Usando la función de rebanada de JavaScript:

var string = ''foo_bar''; string = string.slice(0, -4); // Slice off last four characters here

Esto podría usarse para eliminar ''_bar'' al final de una cadena, de cualquier longitud.


Utilice expresiones regulares:

var aStr = "12345.00"; aStr = aStr.replace(/.$/, '''');



"a string".match(/(.*).$/)[1] // => a strin "a string".match(/(.*).$/) // returns ["a string", "a strin"] "a string".match(/(.*).{2}$/)[1] // to get two chars off => a stri

  1. (. *), captura cualquier personaje varias veces
  2. ., coincide con el último carácter, en este caso
  3. $, coincide con el final de la cadena

debris = string.split("_") //explode string into array of strings indexed by "_" debris.pop(); //pop last element off the array (which you didn''t want) result = debris.join("_"); //fuse the remainng items together like the sun


if(str.substring(str.length - 4) == "_bar") { str = str.substring(0, str.length - 4); }


var str = "test!"; var newStr = str.slice(0,-1); //test