#やりたいこと
end
という変数の中に正規表現で指定したものがあれば、
text
の変数をreplaceして未クリアをクリアした時間に置き換えたいです。
また、これはできればで良いのですが、もっと処理速度の速いスマートな方法があれば教えて欲しいです。
(end
はユーザーがクリアしたエンディングという想定です。
それをtext
にreplaceして、未クリアのものはそのまま、クリアしたものはその時間を入れようとしています。)
#作ったJS
js
1end = `[End01] 井戸の中の蛙 22021年11月01日 12時50分 3 4[End03] 暴虐の圧死 52021年11月02日 04時51分`//ユーザーがクリアしたエンディング 6 7text = 8`[End01] 井戸の中の蛙 9未クリア 10 11[End02] 村殺しの残虐者 12未クリア 13 14[End03] 暴虐の圧死 15未クリア` 16 17console.log("START") 18 for(let i = 1;i<4;i++){//End01など、数字毎に確認したいのでfor 19 reg = new RegExp("d0"+i+".+\n.+分")//(/d01.+\n.+分/)になる想定 20 Treg = new RegExp("d0"+i+".+\n未クリア")//(/d01.+\n未クリア/)になる想定 21 if(end.match(reg)){ 22 end = text.replace(Treg,end.match(reg)) 23 text = end 24 console.log(i+"番目--\n"+end.match(reg)) 25 }else{ 26 console.log(i+"番目--ありません") 27 } 28 } 29console.log(text)
#起きていること
エラーは吐いていません。しかし、end
の中に
d03] 暴虐の圧死 2021年11月02日 04時51分
があるのに、未クリアとなっています。
#まとめ
① end
の中で時間が表記してあるものがあれば、text
の未クリアをreplaceしたい
② End01が反応してEnd03が反応しない理由がわからない
③ あわよくば、for
以外の関数を使って処理速度を速めたい。
③はスルーしてもらって構いません。さしあたっては②が知りたいです。どうぞよろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー