🐈

文字列操作チートシート

に公開

自分用チートシートです。

文字列の作成

方法 説明
文字列リテラル 最も一般的で推奨される方法。シングル/ダブルクォート。 let str = 'Hello'; let str2 = "World";
テンプレートリテラル バッククォート (`) を使用。改行や変数埋め込みが可能。 let name = "Alice";let msg = \Hello, ${name}!;

文字列の長さとアクセス

プロパティ/メソッド 説明 結果
length 文字列の長さを返す。 hello'.length 5
[index] 特定のインデックスの文字にアクセス。 hello'[0] h'
charAt(index) 特定のインデックスの文字を返す(古い方法)。 hello'.charAt(0) h'

文字列の結合

方法 説明 結果
`=+ 演算子 最もシンプル。 Hello' + ' ' + 'World' Hello World'
concat() 複数の文字列を結合して新しい文字列を返す。 Hello'.concat(' ', 'World') Hello World'
テンプレートリテラル 変数や式を埋め込みながら結合。 let name = 'Bob';
\Hello, ${name}!``
Hello, Bob!'|

部分文字列の抽出

メソッド 説明 結果
slice(start, end) startからend-1までを抽出。負のインデックスも可。 abcdef'.slice(1, 4) 'abcdef'.slice(-3) bcd''def'
substring(start, end) startからend-1までを抽出。負のインデックスは0として扱われる。 abcdef'.substring(1, 4) 'abcdef'.substring(4, 1) bcd''bcd' (自動で順番入れ替え)
substr(start, length) startからlength分を抽出(非推奨)。 abcdef'.substr(1, 3) bcd'

文字列の検索とチェック

メソッド 説明 結果
indexOf(searchString, fromIndex) 最初に現れるインデックス。見つからない場合は -1。 hello world'.indexOf('world') 6
lastIndexOf(searchString, fromIndex) 最後に現れるインデックス。 hello world world'.lastIndexOf('world') 12
includes(searchString, position) 特定の部分文字列を含むか。 hello'.includes('lo') TRUE
startsWith(searchString, position) 特定の部分文字列で始まるか。 hello'.startsWith('he') TRUE
endsWith(searchString, length) 特定の部分文字列で終わるか。 hello'.endsWith('lo') TRUE
search(regexp) 正規表現に一致する最初のインデックス。 hello world'.search(/world/) 6

文字列の置換

メソッド 説明 結果
replace(searchValue, replaceValue) 最初に見つかった部分文字列/正規表現を置換。 hello world'.replace('world', 'JS') hello JS'
replaceAll(searchValue, replaceValue) すべての部分文字列を置換(ES2021)。 hi hi'.replaceAll('hi', 'bye') bye bye'
replace(/regexp/g, replaceValue) 正規表現とグローバルフラグで全て置換(replaceAllがない場合)。 hi hi'.replace(/hi/g, 'bye') bye bye'

大文字・小文字変換

メソッド 説明 結果
toUpperCase() 全て大文字に変換。 hello'.toUpperCase() HELLO'
toLowerCase() 全て小文字に変換。 HELLO'.toLowerCase() hello'

空白文字の除去

メソッド 説明 結果
trim() 先頭と末尾の空白文字を除去。 hello world '.trim() hello world'
trimStart() 先頭の空白文字を除去(ES2019)。 hello'.trimStart() hello'
trimEnd() 末尾の空白文字を除去(ES2019)。 hello '.trimEnd() hello'

文字列の繰り返し

メソッド 説明 結果
repeat(count) 文字列を指定回数繰り返す(ES2015)。 abc'.repeat(3) abcabcabc'

文字列と配列の変換

メソッド 説明 結果
split(separator, limit) 指定した区切り文字で文字列を分割し、配列を返す。 a,b,c'.split(',') 'hello'.split('') ['a', 'b', 'c']
['h', 'e', 'l', 'l', 'o']
Array.from() 文字列を文字の配列に変換。 Array.from('hello') ['h', 'e', 'l', 'l', 'o']
[...str] スプレッド構文で文字の配列に変換。 [...'hello'] ['h', 'e', 'l', 'l', 'o']

その他メソッド

メソッド 説明 結果
padStart(targetLength, padString) 指定した長さになるまで先頭に文字を埋める。 5'.padStart(2, '0') 05'
padEnd(targetLength, padString) 指定した長さになるまで末尾に文字を埋める。 5'.padEnd(3, 'X') 5XX'
charCodeAt(index) 特定のインデックスの文字のUTF-16コード単位値を返す。 A'.charCodeAt(0) 65
codePointAt(index) 特定のインデックスの文字のUnicodeコードポイント値を返す(絵文字など対応)。 😊'.codePointAt(0) 128522

Discussion