存在しないJavaScriptのトリム関数を探していましたが、グーグルのいくつかのコードは次の使用を提案しています。
_function trimStr(str) {
return str.replace(/^\s+|\s+$/g, '');
}
_
str.replace(/^\s+|\s+$/g, '')
がどのように機能するか知りたいです。これが何らかの正規表現であることは理解していますが、それが何をしているのかわかりません。
/^\s+|\s+$/g
は、文字列の最初または最後から空白を検索します。式は、^\s+
(OR)で区切られた\s+$
と|
の2つの部分に分割できます。最初の部分は文字列の先頭(^
)から始まり、可能な限り多くの空白文字(\s+
)を含みます。 2番目の部分も同じですが、逆に、最後にドル記号($
)を使用します。
平易な英語では、正規表現は次のようになります。
文字列の最初からできるだけ多くの空白文字を検索するか、最後からできるだけ多くの空白文字を検索します。
\s
はスペース、タブ、改行に一致することに注意してください。
最後の/g
部分はグローバル検索を有効にし、複数の置換を可能にします(たとえば、文字列の最初だけでなく最後も)。
^
は文字列の先頭であり、$
は終わりです。 \s
は空白文字を意味します(JavaScriptでは、具体的にはタブ、垂直タブ、フォームフィード、スペース、非区切りスペース、バイトオーダーマーク、Unicodeスペース区切り文字(カテゴリZ)、改行、キャリッジリターン、行区切り記号、または段落を意味します区切り文字)、および+
は1つ以上を意味します。 |
は交替であり、2つの可能性から選択します。 g
はグローバルフラグです。したがって、正規表現は、最初、1つ以上の空白、または1つ以上の空白、そして最後を意味します。次に、すべての一致を(グローバルであるため)空の文字列に置き換えます。
あなたはこれに興味があるかもしれません ブログ投稿 、おそらくあなたが必要とするよりも詳細に分析します:)さまざまなトリム機能の長所と短所。