Reputation: 6199
How would I insert a %
before the last 2 characters in a word?
For example:
var str = "Because";
Output:
Becau%se
Upvotes: 9
Views: 13607
Reputation: 61755
Here's a function I wrote for you to do it!
var MyString = "Because";
// Inserts a string into another string at a given point
function InsertString(OriginalString, InsertingString, Position) {
return OriginalString.substring(0, Position) + InsertingString + OriginalString.substring(Position, OriginalString.length);
}
// You can call this as well if you want it n positions from right
function InsertStringFromRight(OriginalString, InsertingString, CharsFromRight) {
return InsertString(OriginalString, InsertingString, OriginalString.length - CharsFromRight);
}
// Call the function!
var Test1 = InsertString(MyString , "#", 5);
var Test2 = InsertStringFromRight(MyString , "#", 2);
alert(Test1);
alert(Test2);
Upvotes: 0
Reputation: 490453
Alternatively...
var str = "Because",
chars = str.split('');
chars.splice(-2, 0, '%');
str = chars.join('');
Upvotes: 1
Reputation: 81680
Try
function insert(str, value, position){
return str.substring(0,str.length-position) + value + str.substring(str.length-position);
}
Upvotes: 2
Reputation: 5563
Try this
var str = "Because";
var result = str.slice(0, -2) +"%"+str.slice(-2);
Upvotes: 12
Reputation: 11879
Try using this:
str.substring(0,str.length-2)+"%"+str.substring(str.length-2)
Upvotes: 1
Reputation: 23169
str.substring(0, str.length - 2) + "%" + str.substring(str.length - 2)
Upvotes: 1
Reputation: 25465
How about
var str = "Because";
var len = str.length;
var x = str.substring(0, len-2) + "%" + str.substring(len-2);
Hope this helps.
Upvotes: 24