JavaScriptを使って文字列の一部を切り出す処理を色々試してみます。
slice(beginSlice[, endSlice])
beginSliceからendSliceまでの文字列を切り出して返します。
両方とも0から始まるインデックスで、マイナスの値の場合は最後からの位置になります。
endSliceが省略されている場合は最後まで切り出します。
JavaScript
var str = '1234567890'; // 先頭から3文字目 console.log(str.slice(0, 3)); // 123 // 3文字目~7文字目まで console.log(str.slice(2, 7)); // 34567 // 5文字目~最後まで console.log(str.slice(4)); // 567890 // 7文字目~最後から2文字目まで console.log(str.slice(6, -1)); // 789 // 最後から6文字目~最後から3文字目まで console.log(str.slice(-6, -2)); // 5678 // 最後から5文字目~先頭から8文字目まで console.log(str.slice(-5, 8)); // 678 // 最後から4文字 console.log(str.slice(-4)); // 7890
substr(start[, length])
startの位置からlengthの数だけ切り出して返します。
startは0から始まるインデックスで、マイナスの値の場合は最後からの位置になります。
lengthが省略されている場合は最後まで切り出します。
JavaScript
var str = '1234567890'; // 先頭から3文字目 console.log(str.substr(0, 3)); // 123 // 3文字目~5文字 console.log(str.substr(2, 5)); // 34567 // 5文字目~最後まで console.log(str.substr(4)); // 567890 // 最後から5文字目~3文字 console.log(str.substr(-5, 3)); // 678 // 最後から4文字目~最後まで console.log(str.substr(-4)); // 7890
substring(indexA[, indexB])
indexAからindexBまでの文字列を切り出して返します。
両方とも0から始まるインデックスで、マイナスの値やNaNの場合は0として扱われます。
indexAがindexBより大きい値の場合は引数が逆になり、indexBが省略されている場合は最後まで切り出します。
JavaScript
var str = '1234567890'; // 先頭から3文字目 console.log(str.substring(0, 3)); // 123 // 3文字目~7文字目まで console.log(str.substring(2, 7)); // 34567 // 5文字目~最後まで console.log(str.substring(4)); // 567890 // 0未満、NaNの場合は0として扱われる console.log(str.substring(-5, 3)); // 123 // 第1引数 > 第2引数の場合、引数が交換される console.log(str.substring(5, -3)); // 12345
charAt(index)
0から始まるインデックスで、index番目の文字列を切り出して返します。
JavaScript
var str = '1234567890'; // 1文字目 console.log(str.charAt(0)); // 1 // 5文字目 console.log(str.charAt(4)); // 5 // 最後の文字 console.log(str.charAt(str.length - 1)); // 0
【参考サイト】
- String.prototype.slice() – JavaScript | MDN
- String.prototype.substr() – JavaScript | MDN
- String.prototype.substring() – JavaScript | MDN
- String.prototype.charAt() – JavaScript | MDN
コメントが承認されるまで時間がかかります。