Patrick
Patrick

Reputation: 4298

Replace last character of string using JavaScript

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

Answers (4)

MD SHAYON
MD SHAYON

Reputation: 8051

You can use simple regular expression

var str1 = "Notion,Data,Identity,"
str1.replace(/,$/,".")

Upvotes: 7

zer00ne
zer00ne

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

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

Rajaprabhu Aravindasamy
Rajaprabhu Aravindasamy

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

Related Questions