javascriptでの文字列除去処理に関して質問があります。
カンマとダブルクオテーションがあるかどうかわからない文字列が例えば100個あるとします。
この時、カンマまたはダブルクオテーションがある文字列に関してはそれらを除去したいです。
調べたところ、それらは以下のような処理で簡単に出来るようでした。
文字列.split(",").join("");
文字列.replace(/\"/g,"Q");
質問としてはカンマまたはダブルクオテーションがあるかどうかをそれぞれの文字列毎にチェックしてから、もし、いずれか、または両方があるようであれば、それらの文字列除去のメソッドを呼ぶべきか、それとも、カンマまたはダブルクオテーションがあるかどうかのチェックを文字列毎に行なわずに、全ての文字列に対して文字列除去のメソッドを呼ぶべきか?
どちらが処理が速いのでしょうか?
また、どういったが適切でしょうか?
みんなの回答 3 件
100個ぐらいならどっちにしろ大差ないので、読みやすい方を書くのが適切だと思う。
replace() はマッチと置換を同時にやるので、分ける意味はない。あとカンマとクォートは正規表現を使えば1文でチェックできる。処理があまり大量なようなら、任意のセパレータを挟んで一度 join() してから replace() して split() した方が速いかも。
元素材でカンマ取ったほうが早いのでは。。。
関連するトピックス