Estoy teniendo un problema con el recorte de jQuery. Tengo una cadena como en jQuery:RTrim en javascript
var string1;
string1 = "one~two~";
¿Cómo recorto la tilde final?
Estoy teniendo un problema con el recorte de jQuery. Tengo una cadena como en jQuery:RTrim en javascript
var string1;
string1 = "one~two~";
¿Cómo recorto la tilde final?
El método de jQuery .trim()
se refiere a los espacios en blanco ..
Descripción: Retire el espacio en blanco desde el principio y el final de una cadena.
Usted necesita
string1.replace(/~+$/,'');
Esto eliminará todos detrás ~
.
Así one~two~~~~~
también se convertiría en one~two
Esto se desnuda ~ al principio también, pero solo si hay un ~ al final. – Armin
@Armin: No, no lo hará. Coincide con uno o más '~' seguidos por el final de la cadena. –
@armin, no, no lo hará por el '$' al final. Esto significa que la serie de '~' debe estar al final de la cadena. –
var myStr = "One~Two~Three~Four~"
var strLen = myStr.length;
myStr = myStr.slice(0,strLen-1);
alert (myStr);
Esto eliminará el último carácter de la cadena. ¿Es eso lo que querías?
sólo tiene que utilizar el Javascript reemplazar a cambiar la última cadena en la nada:
string1.replace(/~+$/g,"");
string1 = string1.substring(0, string1.length - 1);
https://developer.mozilla.org/en/JavaScript/Reference/Global_Objects/String/substring
Una opción:
string1 = string1.substring(0,(string1.length-1));
largo camino alrededor de ella .. y jsut quita el último carácter .. no la tilde en concreto ..
Quiere una función que funcione como 'Trim()' pero con '~' en lugar de espacios en blanco. –
ya ... supongo que la expresión regular es el camino a seguir :) ... – Silvertiger
Puede utilizar substring
javascript método.
probar este
var string1 = "one~two~";
string1 = $.trim(string1).substring(0, string1.length -1);
Esto recortará cualquier carácter del final de la cadena de entrada, no solo según lo solicitado. –
OMI esta es la mejor manera de hacer un ajuste/izquierda a la derecha y, por lo tanto, tiene una funcionalidad completa para recortar (desde javascript apoya string.trim
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 + "]*"), '');
};
Uso ejemplo:
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 Si está especificando un parámetro para rtrim
o ltrim
, asegúrese de utilizar una cadena compatible con expresiones regex. Por ejemplo, si desea hacer un rtrim
por [
, debe usar: somestring.rtrim('\\[')
jQuery * is * JavaScript. Esto no tiene nada que ver con jQuery, es solo JavaScript. –
Si hubiera una forma de escribir javascript en el código jquery en alguna parte ... – Konerak
¿Desea una cadena sin la tilde o una matriz con 'uno' y 'dos ? –