JavaScript で文字列から最後の文字を削除する

Harshit Jindal 2023年10月12日
  1. substring() 関数を使用して、JavaScript 文字列から最後の文字を削除する
  2. slice() メソッドを使用して、JavaScript 文字列から最後の文字を削除する
  3. replace() メソッドを使用して、JavaScript 文字列から最後の文字を削除する
JavaScript で文字列から最後の文字を削除する

文字列から文字をトリミング/チョップ/削除しなければならない状況があります。JavaScript の文字列は不変であるため、既存の文字列を変更することはできませんが、必要な変更を加えて新しい文字列を作成する必要があります。正規表現、最後の文字を除く部分文字列の取得など、さまざまな方法を使用して最後の文字を削除できます。JavaScript 文字列から最後の文字を削除するさまざまな方法を見ていきます。

substring() 関数を使用して、JavaScript 文字列から最後の文字を削除する

substring() メソッドを使用して、2つのインデックス間の文字列の一部を返します。インデックスが 1つだけ指定されている場合、それは開始インデックスとして扱われ、関数は開始インデックスから文字列の最後のインデックスまでの部分文字列を返します。文字列から最後の文字のみを削除するには、終了インデックスを len-1 として指定する必要があります。ここで、len は文字列の長さです。len-1 は文字列の最後のインデックスであるため、そのインデックスの文字の前に文字列が必要です。

const str = 'DelftStacks';
const str2 = str.substring(0, str.length - 1);
console.log(str2);

出力:

DelftStack

substring() に似た関数は substr() です。また、2つの引数を取りますが、substr() の場合の 2 番目の引数は部分文字列の長さです。次のコードで同じ結果を得ることができます。

const str = 'DelftStacks';
const str2 = str.substr(0, str.length - 1);
console.log(str2);

出力:

DelftStack

substring メソッドと同等ですが、レガシーメソッドと見なされるため回避されます。substring() メソッドを使用することをお勧めします。

slice() メソッドを使用して、JavaScript 文字列から最後の文字を削除する

slice() メソッドは、substring() メソッドとほとんど同じように機能します。また、引数として開始インデックス start_index と終了インデックス end_index を取ります。重要な違いは、関数の引数として負のインデックスを使用できることです。値 str.length を追加することにより、負のインデックスが通常の範囲になります。開始インデックスとして 0 を渡し、終了インデックスとして -1 を渡すことで、最後の文字を切り落とすことができます。

const str = 'DelftStacks';
const str2 = str.slice(0, -1);
console.log(str2);

出力:

DelftStack

replace() メソッドを使用して、JavaScript 文字列から最後の文字を削除する

replace() 関数を使用して、文字列から最後の文字を削除することもできます。正規表現を入力として受け取り、正規表現の結果を置き換えます。$ 文字は、入力の終わりに一致するために使用されます。. 単一の文字を照合するために使用されます。したがって、正規表現/.$/を使用して、文字列から最後の文字を取得できます。この後、文字列から削除するために、''、つまり空白に置き換えます。

const str = 'DelftStacks';
const str2 = str.replace(/.$/, '');
console.log(str2);

出力:

DelftStack
著者: Harshit Jindal
Harshit Jindal avatar Harshit Jindal avatar

Harshit Jindal has done his Bachelors in Computer Science Engineering(2021) from DTU. He has always been a problem solver and now turned that into his profession. Currently working at M365 Cloud Security team(Torus) on Cloud Security Services and Datacenter Buildout Automation.

LinkedIn

関連記事 - JavaScript String