文字列の一部分を切り出すには、 substrを使う方法、substringを使う方法、sliceを使う方法があります。
文字列をsubstrで切り出す
substrは、開始位置と文字数を指定して切り出す書式です。
対象文字列.substr(開始インデックス, [切り出す文字数])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//対象文字列 var str = "ABCDEFGHIJ"; //最初の3文字を取得する str.substr(0, 3); → "ABC" //2文字目から3文字取得する str.substr(1, 3); → "BCD" //5文字目から最後まで取得する str.substr(4); → "EFGHIJ" //後ろから数えて5文字目から3文字取得する str.substr(-5, 3); → "FGH" |
解説
- インデックス番号は0から始まるため、1文字目は0、2文字目は1 と数えます。
- 第2引数は省略可です。省略すると最終文字まで指定したことになります。
- 第1引数にマイナスを指定すると後ろから数えた文字数となります。 この場合、インデックス番号は0からではなく1から数えます。
- 存在しないインデックス番号を指定しても空文字が返るだけでエラーにはなりません。
文字列をsubstringで切り出す
substringは、開始位置と終了位置を指定して切り出す書式です。
対象文字列.substring(開始インデックス, [終了インデックス])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
//対象文字列 var str = "ABCDEFGHIJ"; //最初の3文字を取得する str.substring(0, 3); → "ABC" //2文字目~5文字目までを取得する str.substring(1, 5); → "BCDE" //5文字目から最後まで取得する str.substring(4); → "EFGHIJ" |
解説
- インデックス番号は0から始まるため、1文字目は0、2文字目は1 と数えます。
- 第2引数は省略可です。省略すると最終文字まで指定したことになります。
- 存在しないインデックス番号を指定しても空文字が返るだけでエラーにはなりません。
文字列をsliceで切り出す
sliceは、開始位置と終了位置を指定して切り出す書式です。
対象文字列.slice(開始インデックス, [終了インデックス])
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
//対象文字列 var str = "ABCDEFGHIJ"; //最初の3文字を取得する str.slice(0, 3); → "ABC" //2文字目~5文字目までを取得する str.slice(1, 5); → "BCDE" //5文字目から最後まで取得する str.slice(4); → "EFGHIJ" //後ろから数えて5文字目から最後まで取得する str.slice(-5); → "FGHIJ" |
解説
- 基本的にsubstringと同じ動きをしますが、マイナスを指定して後ろから切り出せる事が異なります。
- 存在しないインデックス番号を指定しても空文字が返るだけでエラーにはなりません。