RTrim in javascript

Sto avendo un problema con il trim di jQuery. Ho una string come in jQuery:

var string1; string1 = "one~two~"; 

Come posso tagliare la tilda?

Il metodo .trim() di jQuery si riferisce allo spazio bianco.

Descrizione : Rimuovi lo spazio dall'inizio e la fine di una string.


Hai bisogno

 string1.replace(/~+$/,''); 

Questo rimuoverà tutti i passaggi ~ .

Così one~two~~~~~ sarebbe anche diventato one~two

Basta usare il javascript sostituire per cambiare l'ultima string in niente:

 string1.replace(/~+$/g,""); 

Una opzione:

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

lunga strada intorno .. e jsut striscia l'ultimo personaggio .. non la tilde specificamente ..

IMO questo è il modo migliore per fare un trim a destra / sinistra e quindi avere una funzionalità completa per il taglio (poiché javascript support string.trim modo nativo)

 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 + "]*"), ''); }; 

Esempio di utilizzo:

 var str1 = ' jav ~' var r1 = mystring.rtrim('~'); // result = ' jav ' <= what OP is requesting var r2 = mystring.rtrim(' ~'); // result = ' jav' var r3 = mystring.ltrim(); // result = 'jav ~' 

PS Se si specifica un parametro per rtrim o ltrim , assicurarsi di utilizzare una string compatibile con regex. Ad esempio, se vuoi fare un rtrim da [ , devi usare: somestring.rtrim('\\[')

 var myStr = "One~Two~Three~Four~" var strLen = myStr.length; myStr = myStr.slice(0,strLen-1); alert (myStr); 

Questo eliminerà l'ultimo carattere della string. È quello che volevi?

È ansible utilizzare il metodo javascript di substring .

Prova questo

 var string1 = "one~two~"; string1 = $.trim(string1).substring(0, string1.length -1);