メモブログ

技術的なことを書き連ねるブログ

Stringオブジェクトのメンバ

indexOf(substr [,start])

文字列前方(start+1文字)から部分文字列substrを検索

var str1 = "あいうえおあいうえお";
document.writeln(str1.indexOf("えお")); // 3 前から検索
document.writeln(str1.indexOf("えお",-5)); // 3 マイナスにしても0から?
document.writeln(str1.indexOf("えお",5)); // 8 6文字目から右を検索
document.writeln(str1.indexOf("えこ")); // -1 無し

var str1 = "C3P-O and R2-D2";
document.writeln(str1.indexOf("anakin") > -1 || str1.indexOf("C3P-O") > -1); // true ユーザーエージェントとかで使ったり

lastIndexOf(substr [,start])

文字列後方(start+1文字)から部分文字列substrを検索

var str2 = "あいうえおあいうえお";
document.writeln(str2.lastIndexOf("えお")); // 8 後ろから検索
document.writeln(str2.lastIndexOf("えお",5)); // 8 6文字目から左を検索
document.writeln(str2.lastIndexOf("えお",15)); // 8 文数超えるとよくわからん
document.writeln(str2.lastIndexOf("えお",-5)); // -1 マイナスはだめそう?
document.writeln(str2.lastIndexOf("えこ")); // -1 無し

charAt(n)

n文字目を抽出

var str3 = "あいうえおあいうえお";
document.writeln(str3.charAt(3)); // え 4文字目を抽出
document.writeln(str3.charAt(13)); // "" 空文字

slice(start [,end])

start+1文字目からend文字目までを抽出

var str4 = "123456789";
document.writeln(str4.slice(3)); // 456789
document.writeln(str4.slice(2,7)); // 34567
document.writeln(str4.slice(5,2)); // "" (start > end) は空文字
document.writeln(str4.slice(5,-2)); // 67 後方から数えたら -2は7文字目になる

substring(start [,end])

start+1文字目からend文字目までを抽出

var str5 = "123456789";
document.writeln(str5.substring(3)); // 456789
document.writeln(str5.substring(2,7)); // 34567
document.writeln(str5.substring(5,2)); // 345 (start > end)は入れ替える
document.writeln(str5.substring(5,-2)); // 12345 -2は0とみなす、そのあと入れ替える

substr(start [,cnt])

start+1文字目からcnt文字を抽出

var str6 = "123456789";
document.writeln(str6.substr(3)); // 456789 4文字目から最後までを抽出
document.writeln(str6.substr(2,7)); // 3456789 3文字目から7文字を抽出

split(start [,limit])

文字列を分割文字列strで分割し、その結果を配列として取得(引数limitは最大分割数)

var str7 = "あいうえおあいうえおあいうえおあいうえお";
document.writeln(str7.split("い")); // あ,うえおあ,うえおあ,うえおあ,うえお 「い」で分割して配列を返す
document.writeln(str7.split("い",3)); // あ,うえおあ,うえおあ 「い」で分割して配列を返すけど長さ3まで

toLowerCase(), toUpperCase()

小文字に変換、大文字に変換

var str8 = "ABC";
document.writeln(str8.toLowerCase()); // abc 小文字化
document.writeln(str8.toLowerCase().toUpperCase()); // ABC 大文字化
document.writeln(navigator.userAgent.toLowerCase()); // uaを小文字にして分岐に使うとか
// mozilla/5.0 (windows nt 10.0; wow64) applewebkit/537.36 (khtml, like gecko) chrome/50.0.2661.102 safari/537.36

concat(str)

文字列の後ろにstrを結合

var str9 = "元気に";
document.writeln(str9.concat("挨拶")); // 元気に挨拶

length

文字列の長さ

var str10 = "元気に123ダー";
document.writeln(str10.length); // 8 日本語も1文字と数える