使用JavaScript替换字符串的最后一个字符

Pat*_*ick 42 javascript string

我有一个非常小的查询.我尝试使用concat,charAt,slice等等,但我没有得到如何做到这一点.

这是我的字符串:

var str1 = "Notion,Data,Identity,"
Run Code Online (Sandbox Code Playgroud)

我想,.它取代它应该是这样的.

var str1 = "Notion,Data,Identity."
Run Code Online (Sandbox Code Playgroud)

有人能让我知道如何实现这一目标吗?

Raj*_*amy 86

你可以轻松地使用正则表达式,

var str1 = "Notion,Data,Identity,".replace(/.$/,".")
Run Code Online (Sandbox Code Playgroud)

.$ 将匹配字符串末尾的任何字符.

  • @Patrick那是正则表达式组件.`.`将匹配任何角色.并且`$`将与该点连接以匹配字符串末尾的任何字符. (3认同)

小智 35

您可以通过使用删除字符串的最后N个字符.slice(0, -N),并将新结尾连接到+.

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

切片的否定参数表示从字符串末尾而不是从开头开始的偏移量,因此在这种情况下,我们要求从开头到字符串的切片到最后一个字符.


zer*_*0ne 7

这不是优雅的,但它是可重复使用的.

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,'.'))
Run Code Online (Sandbox Code Playgroud)


MD *_*YON 6

您可以使用简单的正则表达式

var str1 = "Notion,Data,Identity,"
str1.replace(/,$/,".")
Run Code Online (Sandbox Code Playgroud)