Javascriptを使って文字列から文字を削除するにはどうすればいいですか?
もう少しで完成しそうなのですが、どうもうまくいきません。
私がやりたいのは、文字列から文字r
を削除することです。
問題は、文字列の中に r
のインスタンスが1つ以上あることです。
しかし、それは常にインデックス4(つまり5文字目)の文字です。
文字列の例です。crt/r2002_2
欲しいもの: crt/2002_2
この置換関数は、r
の両方を削除します。
mystring.replace(/r/g, '')
結果: ct/2002_2
を生成
この関数を試してみました。
String.prototype.replaceAt = function (index, char) {
return this.substr(0, index) + char + this.substr(index + char.length);
}
mystring.replaceAt(4, '')
別の文字に置き換えた場合のみ動作します。単純に削除することはできません。
何か考えはありますか?
309
3
は、
String.prototype.replace
を使って、/r
を/
に置き換えます。別の方法として、グローバルフラグ付きのregexを使用して(下記のErik Reppen &; Sagar Galaが提案するように)、すべての出現箇所を
EDIT: みんながここでとても楽しんでいて、user1293504が明確な質問に答えるためにすぐに戻ってくるとは思えないので、ここでは文字列からN番目の文字を削除する方法を紹介します。
もしこれを使って
charAt
の動作を再現したいのであれば、3行目のインデックスから1を引かずに、代わりにtmp.splice(i, 1)
を使ってください。常に4文字目を削除することが分かっているのであれば、文字列関数があります。
char.length
がゼロです。この場合、文字をスキップするためには1
を追加する必要があります。