- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:[JS] 複数の単語を一発置換したい)
[JS] 複数の単語を一発置換したい
このQ&Aのポイント
- 複数の単語を一括で鍵括弧つきに置換したい
- 指定された置換文字の指定順に置換を行い、重複置換はしない
- 既存のコードではうまく動作しないため、解決方法を教えてほしい
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
var text = "koreha keyword ya word wo tikan suru situmon desu."; var result = text.replace(/(keyword|word|desu)/g, "[$1]"); //alert(result); で十分かと思いますがいかがでしょうか。
その他の回答 (1)
- H240S18B73
- ベストアンサー率65% (190/288)
回答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 }