JavaScriptにて正規表現を用いずに文字列の一括置換を行う方法
文字列の一括置換を行う際、PHPだとstr_replaceで問題無く対応できるがJavaScriptの場合は普通にreplaceを使っても最初に見つかった文字列のみ置換されてしまう。そのため正規表現を用いる必要があるがES2021で追加されたreplaceAllというメソッドで解決できるみたい。以下に使用方法をメモ。
使用方法
ソースコード
<script>
const price = '1,000,000';
//これだと最初のカンマのみ置換される
console.log(price.replace(',', '')); //1000,000
//従来の方法(正規表現)
console.log(price.replace(/,/g, '')); //1000000
//新しい方法
console.log(price.replaceAll(',', '')); //1000000
</script>
リファレンス
String.prototype.replaceAll()
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll
所感
未だに正規表現は苦手意識があるのでreplaceAllを知れたのは良かった。今後はこの方法を使っていきたいところ。
関連記事
-
-
tableタグでスクロール時にヘッダーを残して表示する方法(jquery-decapitate)
テーブルタグ内で縦にスクロールした際にテーブルヘッダー部分は表示させたままテーブ ...
-
-
Leafletにて操作内容を履歴に残し「進む」「戻る」ボタンで履歴を実行できる「Leaflet.NavBar」の利用方法
Leafletにてマップ移動やズーム等、ユーザーの操作内容を履歴に残して、「進む ...
-
-
JavaScriptにて数値のカウントアップ及びカウントダウンを表示する「countUp.js」ライブラリの利用方法
だいぶ前にバニラJSにて数値のカウントアップ及びカウントダウン表示を行う方法をメ ...
-
-
JavaScriptでbodyタグ内に特定のClass要素が追加された際イベントを発火させる方法
ASPを使用したサイトでページ内に特定のClass要素が追加された際にJSでイベ ...
-
-
Leafletでマーカーを動的に変更し、変更状況をCookieに保存する方法
Leafletでポップアップ(フキダシ)内のボタンをクリックするとマーカーを動的 ...