2016-04-14 252 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,'.'))

相關問題