In javascript, how to I do a right trim?
I have the following:
var s1 = "this is a test~";
var s = s1.rtrim('~')
but was not successful
Use a RegExp. Don't forget to escape special characters.
s1 = s1.replace(/~+$/, ''); //$ marks the end of a string
// ~+$ means: all ~ characters at the end of a string
You can modify the String prototype if you like. Modifying the String prototype is generally frowned upon, but I personally prefer this method, as it makes the code cleaner IMHO.
String.prototype.rtrim = function(s) {
return this.replace(new RegExp(s + "*$"),'');
};
Then call...
var s1 = "this is a test~";
var s = s1.rtrim('~');
alert(s);
IMO this is the best way to do a right/left trim and therefore, having a full functionality for trimming (since javascript supports string.trim
natively)
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 + "]*"), '');
};
Usage example:
var str1 = ' jav '
var r1 = mystring.trim(); // result = 'jav'
var r2 = mystring.rtrim(); // result = ' jav'
var r3 = mystring.rtrim(' v'); // result = ' ja'
var r4 = mystring.ltrim(); // result = 'jav '
A solution using a regular expression:
"hi there~".replace(/~*$/, "")
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With