LoginSignup
4
1

More than 5 years have passed since last update.

JavaScript文字列処理 文字列からの検索

Last updated at Posted at 2016-12-01

JavaScriptが生まれてかなり経ち、今では何らかのライブラリを使うことの方が多くなりました。
そんな中での文字列関数のうち、文字列内からの検索についての復習です。
黒歴史遺跡発掘のお供にどうぞ。(このエントリも鬼のように要補修で1年後には黒歴史というオチですが)

Mac OS X Google Chromeで確認。

引数、戻り値一覧

関数名 引数1 引数2 戻り値
indexOf 検索文字列 開始位置 最初の出現位置、該当なしで-1
lastIndexOf 検索文字列 開始位置 最後の出現位置、該当なしで-1
match 検索正規表現 該当要素の配列
search 検索正規表現 最初の該当出現位置

引数の数値変換と値による動作

indexOf

検索文字列

引数 動作
引数なし 該当なしを返す
数値(負の数) 符号を含めた文字列とみなす
数値(小数) 文字列とみなす
数値(正の符号つき) 符号を含めない文字列とみなす
数値(8進数表記) 10進数で表記した文字列とみなす
数値(16進数表記) 10進数で表記した文字列とみなす
空文字列 0を返す
配列(空配列) 0を返す
配列(要素数1以上) join()実行結果(カンマ区切り文字列)とみなす
オブジェクト 文字列「[object Object]」を指定とみなす
関数 文字列に変換したものを指定とみなす

開始位置

引数 動作
文字列(数字以外) 0を指定とみなす
文字列(数字) 整数値に変換した値を指定とみなす
数値(文字列長以上) 該当なしを返す
数値(小数) 整数値に変換した値を指定とみなす
数値(負の値) 該当なしを返す
配列(空配列) 0を指定とみなす
配列(要素数1) 先頭要素を文字列に変換した値とみなす
配列(要素数2以上) 0を指定とみなす
オブジェクト 0を指定とみなす
null 0を指定とみなす
NaN 0を指定とみなす
function 0を指定とみなす

lastIndexOf

検索文字列

引数 動作
引数なし 該当なしを返す
数値(負の数) 符号を含めた文字列とみなす
数値(小数) 文字列とみなす
数値(正の符号つき) 符号を含めない文字列とみなす
数値(8進数表記) 10進数で表記した文字列とみなす
数値(16進数表記) 10進数で表記した文字列とみなす
空文字列 文字列長を返す
配列(空配列) 文字列長を返す
配列(要素数1以上) join()実行結果(カンマ区切り文字列)とみなす
オブジェクト 文字列「[object Object]」を指定とみなす
関数 文字列に変換したものを指定とみなす

開始位置

引数 動作
文字列(数字以外) 正の無限大を指定とみなす
文字列(数字) 整数値に変換した値を指定とみなす
数値(文字列長以上) 正の無限大を指定とみなす
数値(小数) 整数値に変換した値を指定とみなす
数値(負の値) 該当なしを返す
配列(空配列) 0を指定とみなす
配列(要素数1) 先頭要素を文字列に変換した値とみなす
配列(要素数2以上) 正の無限大を指定とみなす
オブジェクト 正の無限大を指定とみなす
null 0を指定とみなす
NaN 正の無限大を指定とみなす
function 正の無限大を指定とみなす

※ToNumberでNaNとなる値は正の無限大となる

match

引数 動作
引数なし 空文字列を指定とみなす
文字列 正規表現に変換される
空文字列 空文字列を要素とした長さ1の配列を返す
数値(負の値) 符号を含めた文字列とみなす
数値(0、正の値) 符号を含めない文字列とみなす
配列(空配列) 空文字列を指定とみなす
配列(要素数1以上) join()実行結果(カンマ区切り文字列)とみなす
オブジェクト 文字列「[object Object]」を指定とみなす
null 文字列「null」を指定とみなす
NaN 文字列「NaN」を指定とみなす

search

引数 動作
引数なし 空文字列を指定とみなす
文字列 正規表現に変換される
空文字列 0を返す
数値(負の値) 符号を含めた文字列とみなす
数値(0、正の値) 符号を含めない文字列とみなす
配列(空配列) 0を返す
配列(要素数1以上) join()実行結果(カンマ区切り文字列)とみなす
オブジェクト 文字列「[object Object]」を指定とみなす
null 文字列「null」を指定とみなす
NaN 文字列「NaN」を指定とみなす
4
1
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1