2016-04-14 13 views
11

Tôi có một truy vấn rất nhỏ. Tôi đã thử sử dụng concat, charAt, slice và whatnot nhưng tôi đã không nhận được làm thế nào để làm điều đó.Thay thế ký tự cuối cùng của chuỗi bằng cách sử dụng JavaScript

Đây là chuỗi của tôi:

var str1 = "Notion,Data,Identity," 

Tôi muốn thay thế cuối cùng , với một . nó sẽ giống như thế này.

var str1 = "Notion,Data,Identity." 

Ai đó có thể cho tôi biết cách đạt được điều này không?

+0

Chắc chắn bạn đã cố gắng một cái gì đó * *? Đã làm một số nghiên cứu? –

+0

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

Trả lời

28

Bạn có thể làm điều đó với regex dễ dàng,

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

.$ sẽ phù hợp với bất kỳ ký tự ở phần cuối của một chuỗi.

+0

Cảm ơn Aravindasamy. Bạn có thể cho tôi biết điều đó/.$/ cũng được sử dụng không .. – Patrick

+2

@Patrick Đó là thành phần regex. '.' sẽ khớp với bất kỳ ký tự nào. Và '$' sẽ kết hợp với dấu chấm đó để khớp với bất kỳ ký tự nào ở cuối chuỗi. –

16

Bạn có thể xóa các ký tự N cuối cùng của chuỗi bằng cách sử dụng .slice(0, -N) và ghép nối kết thúc mới bằng +.

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

luận Negative để lát đại diện offsets từ ngày kết thúc của chuỗi, thay vì đầu, vì vậy trong trường hợp này, chúng tôi đang yêu cầu cho slice của chuỗi từ đầu đến one- nhân vật-từ-the-end.

2

Đây không phải là trang nhã nhưng có thể sử dụng lại được.

term(str, char)

str: chuỗi cần chấm dứt hợp

char: nhân vật để chấm dứt chuỗi với

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

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

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

Các vấn đề liên quan