在javascript中的RTrim

时间:2012-01-09 16:06:47

标签: javascript

我遇到了jQuery修剪的问题。我在jQuery中有一个字符串:

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

如何修剪尾随波浪号?

7 个答案:

答案 0 :(得分:76)

jQuery的.trim()方法引用空格..

  

说明:从字符串的开头和结尾删除空格。


你需要

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

这将删除所有尾随~

因此one~two~~~~~也会成为one~two

答案 1 :(得分:9)

只需使用javascript replace将最后一个字符串更改为空:

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

答案 2 :(得分:3)

一个选项:

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

很长的路要走..它只是去掉了最后一个字符..而不是特定的代字号。

答案 3 :(得分:2)

IMO这是进行右/左修剪的最佳方式,因此具有完整的修剪功能(因为javascript本身支持string.trim

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

用法示例:

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 ~'

P.S。如果要为rtrimltrim指定参数,请确保使用正则表达式兼容的字符串。例如,如果您想要rtrim [,则应使用:somestring.rtrim('\\[')

答案 4 :(得分:-1)

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

这将删除字符串中的最后一个字符。那是你想要的吗?

答案 5 :(得分:-3)

答案 6 :(得分:-6)

您可以使用substring javascript方法。

试试这个

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