ロクマルウェーブ

JavaScriptで文字列(String)を操作する方法のまとめ

他の言語だと文字列操作はこうなんだけど、JavaScriptだとどう書くんだっけ?って時にさっと眺める為の記事です。

目次

文字列の作成(宣言・初期化)

// 文字列の作成(宣言・初期化)
let str = 'ABC';
console.log(str);        // ABC

文字数(文字列の長さ)の参照

let str = 'ABC';

// 文字数(文字列の長さ)の取得
let l = str.length;
console.log(l);          // 3

結合(連結)・分割(切り出し)

let str = 'ABC';
let ret;

// 「+」で結合
ret = str + 'DEF';
console.log(ret);          // ABCDEF

// テンプレートリテラルで結合
ret = `${str}DEF`;
console.log(ret);          // ABCDEF

// concatで結合
ret = str.concat('DEF');
console.log(ret);          // ABCDEF

// substringで分割
ret = str.substring(0, 2);
console.log(ret);          // AB

// sliceで分割
ret = str.slice(2, 3);
console.log(ret);          // C

空白(スペース)の削除(トリム)

let str = '  ABC    ';

// 両端のトリム
ret = str.trim();
console.log(ret);          // ABC
console.log(ret.length);   // 3

// 先頭のトリム
ret = str.trimStart();
console.log(ret);          // ABC    
console.log(ret.length);   // 7

// 末尾のトリム
ret = str.trimEnd();
console.log(ret);          //   ABC
console.log(ret.length);   // 5

桁揃え(桁埋め)

let str = 'ABC';
let ret;

// 先頭を'0'で埋めて6桁に揃える
ret = str.padStart(6, '0');
console.log(ret);          // 000ABC

// 末尾を'DE'で埋めて6桁に揃える
ret = str.padEnd(6, 'DE');
console.log(ret);          // ABCDED

大文字・小文字へ変換

let str = 'ABCdef';
let ret;

// 大文字へ変換
ret = str.toUpperCase();
console.log(ret);          // ABCDEF

// 小文字へ変換
ret = str.toLowerCase();
console.log(ret);          // abcdef

存在確認(部分一致・前方一致・後方一致)

let str = 'ABCdef';
let ret;

// 部分一致
ret = str.includes('Cd');
console.log(ret);          // true

ret = str.includes('cD');
console.log(ret);          // false

// 前方一致
ret = str.startsWith('ABC');
console.log(ret);          // true

ret = str.startsWith('BCd');
console.log(ret);          // false

// 後方一致
ret = str.endsWith('ef');
console.log(ret);          // true

ret = str.endsWith('ABCde');
console.log(ret);          // false

存在位置取得

let str = 'ABCABC';
let ret;

// indexOfで存在位置取得
// 先頭から最初に一致した文字の位置
// 一致しないなら -1
ret = str.indexOf('BC');
console.log(ret);          // 1

ret = str.indexOf('bc');
console.log(ret);          // -1

// lastIndexOfで存在位置取得
// 末尾から最初に一致した文字の位置
// 一致しないなら -1
ret = str.lastIndexOf('BC');
console.log(ret);          // 4

ret = str.lastIndexOf('bc');
console.log(ret);          // -1

// searchで存在位置取得
// 正規表現で最初に一致した文字の位置
// 一致しないなら -1
ret = str.search(/BC/);
console.log(ret);          // 1

ret = str.search(/bc/);
console.log(ret);          // -1

検索・抽出・置換

let str = 'ABCABC';
let ret;

// 正規表現で文字列の検索・抽出
ret = str.match(/BC/g);
console.log(ret);  // ["BC", "BC"]

// 正規表現で文字列の置換
ret = str.replace(/BC/g, 'DE');
console.log(ret);  // ADEADE

文字列から配列へ変換

let str = 'ABCABC';
let ret;

// 文字列から配列へ変換
ret = str.split();
console.log(ret);  // ["ABCABC"]

// 区切り文字を指定して配列へ変換
ret = str.split('B');
console.log(ret);  // ["A", "CA", "C"]

以上です!