JavaScript
 Computer >> コンピューター >  >> プログラミング >> JavaScript

JavaScriptで文字列から特定の文字を削除する方法|split()とjoin()を活用

文字列から区切り文字を取り除く関数を作る

JavaScriptでは、元の文字列と削除したい部分文字列(区切り文字)の2つの引数を受け取り、その区切り文字がすべて取り除かれた新しい文字列を返す関数 shedString() を簡単に実装できます。

たとえば、次のように呼び出した場合:

shedString('12/23/2020', '/');

この関数は以下の結果を返します。

'12232020'

それでは、実際のコードを見ていきましょう。

実装例

ポイントは、split() で文字列を区切り文字ごとに分割し、その配列をjoin('') で空文字を挟んで再結合するという流れです。

const shedString = (string, separator) => {
  // 区切り文字を基準に文字列を分割する
  const separatedArray = string.split(separator);
  // 分割した配列を空文字で結合して1つの文字列に戻す
  const separatedString = separatedArray.join("");
  return separatedString;
}

const str = shedString('12/23/2020', '/');
console.log(str);

実行結果

コンソールには次のように出力されます。

12232020

動作の仕組み

まず split(separator) を呼び出すと、区切り文字を境界として文字列が配列に分割されます。たとえば '12/23/2020'.split('/') の結果は ['12', '23', '2020'] になります。続いて join("") で各要素を空文字で連結することで、区切り文字を含まない文字列が完成します。

代替手段:replaceAll() や正規表現を使う方法

より簡潔に書きたい場合は、ES2021で導入された replaceAll() メソッドが便利です。

const str = '12/23/2020'.replaceAll('/', '');
console.log(str); // '12232020'

また、正規表現と replace() を組み合わせる方法もあります。g フラグを付けることで、文字列内のすべての一致箇所を置換できます。

const str = '12/23/2020'.replace(/\//g, '');
console.log(str); // '12232020'

用途やサポート対象ブラウザに応じて、これらの方法を使い分けるのがおすすめです。単純な固定文字の除去なら split() + join()、柔軟なパターンマッチが必要なら正規表現、といった選択が基本となります。

  1. JavaScriptで要素からクラス名を削除する方法【classList.remove()の使い方】

    JavaScriptでHTML要素からクラス名(className)を削除するには、classList.remove()メソッドを使うのが最もシンプルで確実な方法です。このメソッドを使えば、対象の要素から指定したクラスを動的に取り除くことができ、ボタンのクリックなどユーザーの操作に応じてスタイルを切り替える際に非常に便利です。 サンプルコード 以下は、「Remove Class」ボタンをクリックすると、DIV要素からクラス名が削除される例です。 <!DOCTYPE html> <html> <head> <meta name="viewpor

  2. JavaScriptの配列を文字列に変換する方法【toString()の使い方を解説】

    JavaScriptで配列の要素をひとつの文字列として扱いたい場面はよくあります。そんなときに便利なのがtoString()メソッドです。このメソッドを使うと、配列の各要素がカンマ(,)で区切られたひとつの文字列に変換されます。以下は、ボタンをクリックすると配列の中身が文字列として画面に表示されるシンプルなサンプルコードです。サンプルコード<!DOCTYPE html> <html lang=ja> <head> <meta charset=UTF-8 /> <meta name=viewport content=width=device-