[解決済み] 103 /s/gと/Θs+/gは違うのですか?
2022-03-07 15:35:46
質問
スペース文字を含む文字列がある場合。
var str = ' A B C D EF ';
で、文字列からスペースを取り除きたい(こうしたい。
'ABCDEF'
).
どちらもこれ。
str.replace(/\s/g, '')
とこれを
str.replace(/\s+/g, '')
は正しい結果を返します。
ということなのでしょうか?
+
は、この状況では不要なのでしょうか?この状況で、これら2つの正規表現に違いはあるのでしょうか(何らかの形で異なる結果を生み出す可能性があるという意味で)?
更新しました。
性能比較-。
/\s+/g
の方が高速です。こちらをご覧ください。
http://jsperf.com/s-vs-s
解決方法は?
最初の正規表現で 各スペース文字 を一文字ずつ空文字列に置き換えています。
2つ目の正規表現では
連続する各文字列
のため、空白文字が空文字に置き換えられています。
+
.
しかし、0に何かをかけても0になるように、どちらの方法も全く同じようにスペースを除去しているように見えます。
置換文字列を
'#'
ということで、その違いがより明確になりました。
var str = ' A B C D EF ';
console.log(str.replace(/\s/g, '#')); // ##A#B##C###D#EF#
console.log(str.replace(/\s+/g, '#')); // #A#B#C#D#EF#
関連
-
[解決済み] エラー。モジュールhtmlが見つからない
-
[解決済み】リソースはドキュメントと解釈されるが、MIMEタイプはapplication/zipで転送される
-
[解決済み] JavaScriptで "use strict "は何をするのか、その根拠は?
-
[解決済み] let "と "var "の使い分けは?
-
[解決済み] callとapplyの違いは何ですか?
-
[解決済み] jQueryの「exists」関数はありますか?
-
[解決済み] JavaScriptでNULL、未定義、空白の変数をチェックする標準的な関数はありますか?
-
[解決済み] JavaScriptで2つの数値の間の乱数を生成する
-
[解決済み] Bowerとnpmの違いは何ですか?
-
[解決済み] JavaScriptのnullとundefinedの違いは何ですか?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】 Uncaught TypeError: data.push is not a function
-
[解決済み】フォームコントロールの値アクセサがない
-
[解決済み】XMLHttpRequestモジュールが定義されていない/見つからない
-
[解決済み】Reactのeslintエラーはpropsの検証で見つからない
-
[解決済み】SyntaxError: JSON の位置 1 に予期しないトークン o があります。
-
[解決済み】XMLパースエラー:ルート要素が見つからない コンソールの場所 FF
-
[解決済み】Uncaught ReferenceError。Firebase は定義されていません。
-
[解決済み】Syntax error: JavaScriptの不正なreturnステートメント
-
[解決済み】TypeError: AngularJSで未定義のプロパティ'get'を読み取れない
-
[解決済み] JavaScriptで文字列からスペースを削除する方法は?