正規表現を使って、文字列を空白で分割し、先頭と末尾の空白を無視して単語の配列にするにはどうすればよいですか?
2023-08-12 12:40:44
質問内容
私は通常、JavaScriptで以下のコードを使用して、空白で文字列を分割しています。
"The quick brown fox jumps over the lazy dog.".split(/\s+/);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
もちろん、単語と単語の間に複数の空白文字がある場合でも、これは機能します。
"The quick brown fox jumps over the lazy dog.".split(/\s+/);
// ["The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog."]
問題は、文字列の先頭や末尾に空白がある場合です。この場合、結果として得られる文字列の配列は、配列の先頭や末尾に空文字を含むことになります。
" The quick brown fox jumps over the lazy dog. ".split(/\s+/);
// ["", "The", "quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog.", ""]
このような空文字を排除するのは些細なことですが、可能であれば正規表現の中でこれを処理したいのです。どなたか、この目標を達成するためにどのような正規表現が使えるかご存じですか?
どのように解決するのですか?
ホワイトスペース以外のビットに興味がある場合は、ホワイトスペースで分割するのではなく、ホワイトスペース以外のビットにマッチさせればよいでしょう。
" The quick brown fox jumps over the lazy dog. ".match(/\S+/g);
なお、以下のように
null
:
" ".match(/\S+/g)
ということで、覚えるべき最適なパターンは
str.match(/\S+/g) || []
関連
-
[解決済み] テキストファイルを文字列変数に読み込んで、改行を除去するには?
-
[解決済み] 文字列を別の文字列で分割する(C#)
-
[解決済み] SwiftでStringを配列に分割する?
-
[解決済み] 任意の空白文字をデリミタとして文字列を分割する方法
-
[解決済み] 先頭と末尾の空白を削除するにはどうしたらよいですか?
-
[解決済み] WebStormで未解決の変数が大量にある場合の警告に対処する方法は?
-
[解決済み] jQueryの$という記号の意味は何ですか?
-
[解決済み] JavaScriptでjson-objectのキーを取得する [重複].
-
[解決済み] Javascript の parseInt() で先頭のゼロを削除する。
-
[解決済み] JavaScriptの文字列プリミティブとStringオブジェクトの違いは何ですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] JavaScriptで文字列をトリムする?
-
[解決済み] JavaScriptで、ある文字列が別の文字列の中に出現するすべてのインデックスを見つけるにはどうすればよいですか?
-
[解決済み] CORS OriginヘッダーとCSRFトークンによるCSRF保護
-
[解決済み] JavaScriptでの大文字小文字を区別しない正規表現
-
[解決済み] Javascriptで動的に命名されたメソッドを呼び出すにはどうすればよいですか?
-
[解決済み] Reactメモを使うべきではない場合とは?
-
[解決済み] ECMAScriptとは?
-
[解決済み] Promise : then vs then + catch [重複].
-
[解決済み] <ng-content>が空かどうかを確認する方法は?(これまでのAngular 2+で)
-
[解決済み] V8 Javascript エンジンのスタンドアロン実行