2016-04-14 6 views
11

私は非常に小さなクエリを持っています。私は、concat、charAt、スライスなどを使用してみましたが、私はそれを行う方法を取得していませんでした。私はそれが次のようになります.で最後,を交換したいJavaScriptを使用して文字列の最後の文字を置換します。

var str1 = "Notion,Data,Identity," 

は、ここに私の文字列です。

var str1 = "Notion,Data,Identity." 

これを達成する方法を教えてもらえますか?あなたは簡単に正規表現でそれを行うことができます

+0

で文字列を終了する文字列が必要な適切な終端

char:文字は確かにあなたは*何か*を試してみましたか?いくつかの研究をしましたか? –

+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文字を削除し、新しい末尾を+に連結することができます。この場合には、私たちが1桁ために最初から文字列のスライスのために求めているように、スライスに

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

負の引数は、代わりに最初の、文字列の末尾からのオフセットを表し、終わりからのキャラクター。

2

これはエレガントではありませんが、再利用可能です。

term(str, char)

str:

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

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

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

関連する問題