Заменить последний символ строки с помощью JavaScript

У меня очень маленький запрос. Я попытался использовать concat, charAt, slice и еще много чего, но я не понял, как это сделать.

Вот моя строка:

var str1 = "Notion,Data,Identity,"

Я хочу заменить последний , на ., он должен выглядеть так.

var str1 = "Notion,Data,Identity."

Может ли кто-нибудь дать мне знать, как это сделать?

Ответ 1

Вы можете легко сделать это с помощью регулярного выражения,

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

.$ будет соответствовать любому символу в конце строки.

Ответ 2

Вы можете удалить последние N символов строки с помощью .slice(0, -N) и объединить новое окончание с помощью +.

var str1 = "Notion,Data,Identity,";
var str2 = str1.slice(0, -1) + '.';
console.log(str2);
Notion,Data,Identity.

Отрицательные аргументы для среза представляют смещения от конца строки вместо начала, поэтому в этом случае мы запрашиваем срез строки от начала до одного символа из конца.

Ответ 3

Это не изящно, но можно использовать повторно.

term(str, char)

str: строка, требующая правильного завершения

char: символ для завершения строки с помощью

var str1 = "Notion,Data,Identity,";

function term(str, char) {
  var xStr = str.substring(0, str.length - 1);
  return xStr + char;
}

console.log(term(str1,'.'))