• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[JS] 複数の単語を一発置換したい)

[JS] 複数の単語を一発置換したい

このQ&Aのポイント
  • 複数の単語を一括で鍵括弧つきに置換したい
  • 指定された置換文字の指定順に置換を行い、重複置換はしない
  • 既存のコードではうまく動作しないため、解決方法を教えてほしい

質問者が選んだベストアンサー

  • ベストアンサー
  • e_watt
  • ベストアンサー率71% (25/35)
回答No.1

var text = "koreha keyword ya word wo tikan suru situmon desu."; var result = text.replace(/(keyword|word|desu)/g, "[$1]"); //alert(result); で十分かと思いますがいかがでしょうか。

その他の回答 (1)

回答No.2

置換関数で置換対象にそれより優先して 置換されるべき語句が含まれるなら そこを置換して返すようにする var text = "koreha keyword ya word wo tikan suru situmon desu."; var tgtStrs=['word','keyword','desu'] var keyRegExp = new RegExp("("+tgtStrs.join('|')+")", "g"); var result = text.replace(keyRegExp, repfnc); alert(result) function repfnc(str,ind,allStr){ var rtn="["+str+"]" for(var i=0;i<tgtStrs.indexOf(str);i++){ if(str.search(tgtStrs[i])!=-1){ rtn=str.replace(tgtStrs[i],"["+tgtStrs[i]+"]") break; } } return rtn }

関連するQ&A

専門家に質問してみよう