今回はJavaScriptの文字列に関する操作についてまとめたいと思います。
こういった操作はプロダクト開発では意外と利用しなかったりしますが、
競プロなどでは割と覚えておくと便利なものだったりするかと思います。
文字列の宣言
let s = 'hello'
let t = String('piyopiyo')
文字列の連結
'hoge' + 'piyo' // => 'hogepiyo'
文字列の長さを返す
let s = 'hello'
s.length // => 5
1文字を抜き出す
let s = 'hello'
s.charAt(2) // => 'l'
文字列の検索
// indexOf(key, index) で位置index(省略すると0)から文字列keyを検索して最初に見つかった位置を返す (見つからなかったときは-1を返す)
let s = 'hello'
let t = String('piyopiyo')
s.indexOf('ll', 0) // => 2
t.indexOf('pi') // => 0
// last.IndexOf(key, index) で位置index(省略すると0)から文字列keyを逆順に検索して最初に見つかった位置を返す (見つからなかったときは-1を返す)
t.lastIndexOf('pi') // => 4
文字列の一部を抜き出す(元の文字列はそのまま)
let s = 'hello'
let t = String('piyopiyo')
// slice(start, end) で位置startからend-1まで抜き出せます (endを省略すると最後まで)
s.slice(1, 4); // => 'ell'
s.silce(1); // => 'ello'
// substr(index, k) で位置indexからk文字抜き出します (kを省略すると最後まで)
t.substr(4, 2); // => 'pi'
t.substr(4); // => 'piyo'
大文字・小文字の変換
// 小文字に変換
'AbCdEf'.toLowerCase() // => 'abcdef'
// 大文字に変換
'AbCdEf'.toUpperCase() // => 'ABCDEF'
文字列から配列へ変換
let d = '2021/11/27'
d.split('/') // => ['2021', '11', '27']
d.split('') // => ['2', '0', '2', '1', '/', '1', '1', '/', '2', '7']