Reputation: 4298
I have a very small query. I tried using concat, charAt, slice and whatnot but I didn't get how to do it.
Here is my string:
var str1 = "Notion,Data,Identity,"
I want to replace the last ,
with a .
it should look like this.
var str1 = "Notion,Data,Identity."
Can someone let me know how to achieve this?
Upvotes: 119
Views: 189205
Reputation: 8051
You can use simple regular expression
var str1 = "Notion,Data,Identity,"
str1.replace(/,$/,".")
Upvotes: 7
Reputation: 43880
This isn't elegant but it's reusable.
term(str, char)
str:
string needing proper termination
char:
character to terminate string with
var str1 = "Notion,Data,Identity,";
function term(str, char) {
var xStr = str.substring(0, str.length - 1);
return xStr + char;
}
console.log(term(str1,'.'))
Upvotes: 12
Reputation: 129775
You can remove the last N characters of a string by using .slice(0, -N)
, and concatenate the new ending with +
.
var str1 = "Notion,Data,Identity,";
var str2 = str1.slice(0, -1) + '.';
console.log(str2);
Notion,Data,Identity.
Negative arguments to slice represents offsets from the end of the string, instead of the beginning, so in this case we're asking for the slice of the string from the beginning to one-character-from-the-end.
Upvotes: 105
Reputation: 67207
You can do it with regex easily,
var str1 = "Notion,Data,Identity,".replace(/.$/,".")
.$
will match any character at the end of a string.
Upvotes: 184