ファンクション・フライデー


今週の関数の金曜日には、もう3つの文字列機能をカバーします.このグループは、文字列内のテキストの特定のブロックを探すことに関連します.
これら3つの機能のすべてはかなり同じように動作します.あなたが探しているテキストとあなたが検索しているテキストを渡すと、それが一致するかどうかを指示します.ベース関数から始めましょう.

インデックス


indexofのパターンはとても簡単です.
indexOf('<textYouAreSearchingFor>', '<textYouAreSearchingIn>')
関数が探しているテキストを検索すると、見つかった最初のマッチの位置(0に基づいて覚えている)を返します.つ以上の試合がある場合、それはあなたに知らせることはありません.それは最初の1つだけ気に.マッチが見つからなかった場合は- 1を返します.
例として:
indexOf('Frank', 'Hello there, Frank. How are you doing, Frank?')
13の値を返します.

のインデックス


これは、IndexOf関数と全く同じ働きをします.ただし、それは終わりから始まり、前面に向かって動作します.パターンは:
lastIndexOf('<textYouAreSearchingFor>', '<textYouAreSearchingIn>')
再び、この関数がマッチを見つけた場合、文字列の最後のマッチの位置を返します.マッチが見つからなかった場合、- 1の値が返されます.上の例では
lastIndexOf('Frank', 'Hello there, Frank. How are you doing, Frank?')
最後の「フランク」の位置39の値を返します.

nthindexof


この関数は他の2つと同様に動作しますが、関数呼び出しでは3番目のパラメータをとります.
nthIndexOf('<textToSearchFor>', '<textToSearchIn>', '<occurence>')
発生の値は、検索したい文字列のインスタンスです.たとえば、2番目の値が発生したい場合は2を渡します.次のようにします.
nthIndexOf('the', 'the plain of the north is the coldest of them all', 2)
13の値を返す
nthIndexOf('the', 'the plain of the north is the coldest of them all', 3)
26の値を返す
前と同じようにマッチが見つからなかった場合、- 1の値が返されます.

ブランクパラメータ


あなたが検索しているテキストまたはあなたが検索しているテキストは、空白ですか?
両方のパラメタが空白であるならば、0が返されます.
あなたが捜しているストリングだけが空白であるならば、値が見つからなかった時から- 1を返します.
あなたが捜しているストリングだけが空白であるならば、それは依存します.
  • indexofは0
  • を返す
  • lastIndexOfは「1 - 1で検索される文字列の長さ」を返しますが、これは
  • を返す値です
  • nthindexも、0
  • を返します

    結論


    ときに別のブロック内のテキストのブロックを探している、それはすべてかなり簡単です.もちろん、あなたが捜すブロックがどうにか空白でない限り.その後、いくつかの奇妙な結果を得ることができます.あなたの論理のそのシナリオを説明する限り、あなたは問題を抱えてはいけません.ハッピーハンティング!
    ポストFunction Friday – The String IndexOf’sは、Barret Codesに最初に現れました.