Stringオブジェクトの使用例
// JavaScript 文字列操作の基本
with (console) {
var myStr1 = "新しい朝が来た希望の朝だ";
// 検索 (位置を返すメソッドは、見つからない場合は-1を返す)
log('----- 検索 -----');
log(myStr1.indexOf('朝', 5)); // 先頭6文字目から「朝」を検索 = 10
log(myStr1.lastIndexOf('い', 2)); // 終端3文字目から「朝」を検索 = 3 (※startは左からの文字数)
log(myStr1.startsWith('新しい', 0)); // [ES2015] 文字列の先頭が「新しい」で始まるか = true
log(myStr1.endsWith('朝だ', 12)); // [ES2015] 文字列の終端が「朝だ」で終わるか = true
log(myStr1.includes('来た', 0)); // [ES2015] 文字列に「来た」が含まれるか = true
// 部分文字列
log('----- 部分文字列 -----');
log(myStr1.charAt(5)); // 指定位置の文字を返す = 「来」
log(myStr1.slice(5, 7)); // 開始位置から終了位置前までの文字列を返す =「来た」
log(myStr1.slice(5, -1)); // 開始位置から終端から数えて1文字までの文字列を返す =「来た希望の朝」
log(myStr1.slice(-5)); // 終端から数えて5文字の文字列を返す =「希望の朝だ」
log(myStr1.substring(5, 7)); // 開始位置から終了位置前までの文字列を返す =「来た」
//log(myStr1.substr(5, 4)); // (非推奨)
log(myStr1.split('朝', 100)); // 文字列で分割する(最大100分割) = ["新しい", "が来た希望の", "だ"]
// 大文字/小文字変換
log('----- 大文字/小文字変換 -----');
var myStr2 = "A new morning has come, it's a morning of hopes"; // '
log(myStr2.toLowerCase()) // すべての文字を小文字に変換
log(myStr2.toUpperCase()) // すべての文字を大文字に変換
// コード変換
log('----- コード変換 -----');
log(myStr2.charCodeAt(0)) // 指定文字をLatin-1コードに変換 = 65
log(String.fromCharCode(0x50, 0x51, 0x52)) // 指定Latin-1コードを文字に変換 = PQR
log(myStr1.codePointAt(0)) // [ES2015] 指定文字をUTF-16エンコードしたコードポイント値に変換 = 26032
log(String.fromCodePoint(0x671D)) // [ES2015] 指定のコードポイント値を文字列に変換 = 「朝」
//その他
log('----- その他 -----');
log(myStr1.concat(myStr2)); // 文字列の結合
log(myStr1.repeat(2)); // [ES2015] 文字列を指定回数繰り返す
log((myStr1 + " ").trim() + "★"); // 文字列から空白文字を除去(全角スペースも除去)
log(myStr1.length); // 文字列の長さを取得 = 12
}
基数変換
// 2進数→16進数
var val1_base02 = '0011101101';
var val1_base16 = parseInt(val1_base02, 2).toString(16);
var dig1 = 4; // 桁
var res1 = '0x' + ('0'.repeat(dig1) + val1_base16).slice(-dig1);
console.log(res1);
// 16進数→2進数
var val2_base16 = '285d';
var val2_base02 = parseInt(val2_base16, 16).toString(2);
var dig2 = 16; // 桁
var res2 = '0b' + ('0'.repeat(dig2) + val2_base02).slice(-dig2);
console.log(res2);