Nate mascota
Tengo un problema con el ajuste de jQuery. Tengo una cadena como en jQuery:
var string1;
string1 = "one~two~";
¿Cómo puedo recortar la tilde final?
gabriele petrioli
los .trim()
método de jQuery se refiere a espacios en blanco ..
Descripción: elimina los espacios en blanco del principio y el final de una cadena.
Necesitas
string1.replace(/~+$/,'');
Esto eliminará todo el final ~
.
Asi que one~two~~~~~
también se convertiría one~two
-
Esto eliminará ~ al principio también, pero solo si hay un ~ al final.
– Armín
9 de enero de 2012 a las 16:12
-
@Armin: No, no lo hará. Coincide con uno o más
~
seguido del final de la cadena.– genérico
9 de enero de 2012 a las 16:14
-
@armin, no, no lo hará debido a la
$
al final. Esto significa que la serie de~
debe estar al final de la cadena..– Gabriele Petrioli
9 de enero de 2012 a las 16:14
-
Lo he probado mal (con bandera global). ¡Lo siento! Linda expresión 🙂
– Armín
9 de enero de 2012 a las 16:15
-
@Armin, no hay problema.. aunque no quitará el protagonista
~
con bandera global tampoco 🙂 Probablemente te perdiste el$
al probar..– Gabriele Petrioli
9 de enero de 2012 a las 16:17
Simplemente use el reemplazo de javascript para cambiar la última cadena en nada:
string1.replace(/~+$/g,"");
Javid
En mi opinión, esta es la mejor manera de hacer un recorte a la derecha/izquierda y, por lo tanto, tener una funcionalidad completa para recortar (ya que JavaScript admite 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.rtrim('~'); // result=" jav " <= what OP is requesting
var r2 = mystring.rtrim(' ~'); // result=" jav"
var r3 = mystring.ltrim(); // result="jav ~"
PD Si está especificando un parámetro para rtrim
o ltrim
, asegúrese de usar una cadena compatible con expresiones regulares. Por ejemplo, si quieres hacer un rtrim
por [
, you should use: somestring.rtrim('\\[')
If you don’t want to escape the string manually, you can do it using a regex-escape function if you will. See the answer here.
One option:
string1 = string1.substring(0,(string1.length-1));
long way around it .. and it jsut strips the last character .. not the tilde specifically..
var myStr = "One~Two~Three~Four~"
var strLen = myStr.length;
myStr = myStr.slice(0,strLen-1);
alert (myStr);
This will delete the last character in the string. Is that what you wanted?
karim79
string1 = string1.substring(0, string1.length - 1);
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring
ShankarSangoli
You can use substring
javascript method.
Try this
var string1 = "one~two~";
string1 = $.trim(string1).substring(0, string1.length -1);
-
This will trim any character off the end of the input string, not only a ~ as requested.
– RylabDec 4, 2014 at 19:50
jQuery es JavaScript. Esto no tiene nada que ver con jQuery, es solo JavaScript.
– genérico
9 de enero de 2012 a las 16:08
Si tan solo hubiera una manera de escribir javascript en código jquery en alguna parte…
– Konerak
9 de enero de 2012 a las 16:08
¿Quieres una cadena sin la tilde o una matriz con ‘uno’ y ‘dos?
– codificador js
9 de enero de 2012 a las 16:08
@dotweb: Quiere recortar el
~
desde el final de la cuerda.– genérico
9 de enero de 2012 a las 16:09
Ah, lo pasé por alto arrastrando. 🙂
– codificador js
9 de enero de 2012 a las 16:11