Подтвердить что ты не робот

RTrim в javascript

У меня проблема с обрезкой jQuery. У меня есть строка в jQuery:

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

Как обрезать заднюю тильду?

4b9b3361

Ответ 1

.trim() метод jQuery относится к пробелу.

Описание. Удалите пробелы с начала и конца строки.


Вам нужно

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

Это приведет к удалению всех завершающих ~.

Итак, one~two~~~~~ также станет one~two

Ответ 2

Просто используйте javascript replace, чтобы изменить последнюю строку в ничто:

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

Ответ 3

Один вариант:

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

длинный путь вокруг него.. и отгоняет этого нужно просто последний символ.. не тильда конкретно..

Ответ 4

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. Если вы указываете параметр для rtrim или ltrim, убедитесь, что вы используете строку, совместимую с regex. Например, если вы хотите сделать rtrim на [, вы должны использовать: somestring.rtrim('\\[')

Ответ 5

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

Это приведет к удалению последнего символа в строке. Это то, что вы хотели?

Ответ 7

Вы можете использовать метод substring javascript.

Попробуйте это

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