2016-04-14 149 views
11

我有一个非常小的查询。我尝试使用concat,charAt,slice和whatnot,但我没有得到如何去做。使用JavaScript替换字符串的最后一个字符

这里是我的字符串:

var str1 = "Notion,Data,Identity," 

我想用一个.它应该是这样的,以取代过去的,

var str1 = "Notion,Data,Identity." 

有人可以让我知道如何做到这一点吗?

+0

当然,你试过* *的东西?做了一些调查? –

+0

FWIW:https://jsperf.com/replace-last-character-of-a-string –

回答

28

你可以用正则表达式轻松地做到这一点,

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

.$将在字符串结尾的任何字符相匹配。

+0

谢谢Aravindasamy。你可以让我知道那个/.$/用于什么。 – Patrick

+2

@Patrick这是正则表达式组件。 '.'将匹配任何字符。 '$'将加入该点以匹配字符串末尾的任何字符。 –

16

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

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

负参数切片代表偏移量从字符串的结束,而不是开始,所以在这种情况下,我们要求的字符串的片从一开始就单字符从最末端。

2

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

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,'.'))

相关问题