6 respuestas

  1. 63

    El uso de una expresión regular. No te olvides de escapar caracteres especiales.

    s1 = s1.replace(/~+$/, ''); //$ marks the end of a string
                                //~+$ means: all ~ characters at the end of a string
    Perfecto, gracias!
    Si desea recortar el espacio en blanco hacer s1 = s1.replace(/\s+$/, '')

    OriginalEl autor Rob W

  2. 5

    Puede modificar la Cadena de prototipo si te gusta. La modificación de la Cadena de prototipo es generalmente mal visto, pero yo personalmente prefiero este método, como lo hace el código más limpio en mi humilde opinión.

    String.prototype.rtrim = function(s) { 
        return this.replace(new RegExp(s + "*$"),''); 
    };

    A continuación, llamar a…

    var s1 = "this is a test~";
    var s = s1.rtrim('~');
    alert(s); 

    OriginalEl autor JP Richardson

  3. 3

    Hay ningún adorno, ltrim, o rtrim funciones en Javascript. Muchas bibliotecas tienen ellos, pero en general se verá algo como:

    str.replace(/~*$/, '');

    Por el derecho de los adornos, el siguiente es generalmente más rápido que un regex porque de cómo regex ofertas con el fin caracteres en la mayoría de los navegadores:

    function rtrim(str, ch)
    {
        for (i = str.length - 1; i >= 0; i--)
        {
            if (ch != str.charAt(i))
            {
                str = str.substring(0, i + 1);
                break;
            }
        } 
        return str;
    }

    OriginalEl autor Scott A

  4. 2

    Una solución utilizando una expresión regular:

    "hi there~".replace(/~*$/, "")

    OriginalEl autor wutz

  5. 2

    OMI esta es la mejor manera de hacer una derecha/izquierda recorte y por tanto, tener una funcionalidad completa para recortar (desde javascript soporta string.trim de forma nativa)

    String.prototype.rtrim = function (s) {
        if (s == undefined)
            s = '\\s';
        return this.replace(new RegExp("[" + s + "]*$"), '');
    };
    String.prototype.ltrim = function (s) {
        if (s == undefined)
            s = '\\s';
        return this.replace(new RegExp("^[" + s + "]*"), '');
    };

    Ejemplo de uso:

    var str1 = '   jav '
    var r1 = mystring.trim();      //result = 'jav'
    var r2 = mystring.rtrim();     //result = '   jav'
    var r3 = mystring.rtrim(' v'); //result = '   ja'
    var r4 = mystring.ltrim();     //result = 'jav '

    OriginalEl autor Javid

  6. -1

    Esto es viejo, ya lo sé. Pero no veo qué hay de malo con substr…?

    function rtrim(str, length) {
      return str.substr(0, str.length - length);
    }
    El único problema aquí es que podría ser cualquier número de caracteres al final de la cadena… dicen que en lugar de this is test~ que pasó a tener this is test~~~ o incluso ninguno this is test. Su caso, sin embargo, funcionan muy bien para recortar un número de conjunto de caracteres de la cadena, independientemente de lo que el personaje puede ser

    OriginalEl autor Joshua Davison

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *