文字列replace()メソッド

文字列のJavaScriptreplace()メソッドに関するすべてをご覧ください

を見つける最初の発生str1現在の文字列で、次のように置き換えますstr2

元の文字列を変更せずに新しい文字列を返します。

'JavaScript'.replace('Java', 'Type') //'TypeScript'

あなたは合格することができます正規表現最初の引数として:

'JavaScript'.replace(/Java/, 'Type') //'TypeScript'

replace()を置き換えるだけです最初検索文字列として正規表現を使用し、グローバル(/g)オプション:

'JavaScript JavaX'.replace(/Java/g, 'Type') //'TypeScript TypeX'

2番目のパラメーターは関数にすることができます。この関数は、一致が見つかったときに呼び出されます(またはすべてグローバル正規表現を使用している場合はfoundmに一致します/g)、いくつかの引数付き:

  • パターンに一致する文字列
  • 一致が発生した文字列内の位置を指定する整数
  • 文字列

関数の戻り値は、文字列の一致した部分を置き換えます。

例:

'JavaScript'.replace(/Java/, (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

これは、正規表現だけでなく、通常の文字列でも機能します。

'JavaScript'.replace('Java', (match, index, originalString) => {
  console.log(match, index, originalString)
  return 'Test'
}) //TestScript

あなたの正規表現が持っている場合グループのキャプチャ、これらの値は、matchパラメーターの直後に引数として渡されます。

'2015-01-02'.replace(/(?<year>\d{4})-(?<month>\d{2})-(?<day>\d{2})/, (match, year, month, day, index, originalString) => {
  console.log(match, year, month, day, index, originalString)
  return 'Test'
}) //Test

私の無料ダウンロードJavaScriptビギナーズハンドブック


その他のjsチュートリアル: