はじめに
これ↓に解説を付けただけです。ほぼ自分用。
初学者なので、ご指摘あればぜひください。
くっつける
+
演算子でよし。
"Hello" + " " + " World"; // Hello World
元画像にはString.concat(args)
が紹介されていますが、性能的にも代入演算子のほうがいいっぽいので、特に使う必要はない様子。
String.prototype.concat() - JavaScript | MDN
余分な空白を切り取る
String.trim()
は、前後の余分な空白(インデントなど)を取り除く。
" Hello ".trim(); // "Hello"
前半のみ取り除く場合はString.trimStart()
、後半はString.trimEnd()
で取り除くことができる。
" Hello ".trimStart(); // "Hello "
" Hello ".trimEnd(); // " Hello"
繰り返す
String.repeat(count)
で、カウント分繰り返す。
"Hello".repeat(3); // HelloHelloHello
埋める
String.padStart(length, char)
は、指定した文字数になるように文頭から埋めてくれる。
"Hello".padStart(7, "#"); // ##Hello
文末から埋めたい場合はString.padEnd(length, char)
を使う。
"Hello".padEnd(7, "#"); // Hello##
切り取る・抽出する
一文字取り出す
一文字であれば、配列のようにブラケット指定が使用できる。
"Hello"[4]; // o
String.charAt(index)
で、指定したインデックスの文字列が抜き出せる。
例では、インデックスが4(=5文字目)のo
を抜き出していることがわかる。
"Hello".charAt(4); // o
指定した部分を切り出す
String.slice(start, end)
で、指定した部分を文字列として切り出せる。
注意点として、end
に指定したインデックスの文字は含みません。
"Hello".slice(1, 3); // el
String.substring(start, end)
も同様に使える。
"Hello".substring(1, 3); // el
また、String.substr(start, length)
というものもある。
これは、startで指定したインデックスから初めて、長さがlengthになるように文字列を切り出す。
この機能は現在非推奨になっている様子。
https://developer.mozilla.org/ja/docs/Web/JavaScript/Reference/Global_Objects/String/substr
"Hello".substr(1, 2); // el
slice
とsubstring
の違いについては以下がわかりやすかった。
【JavaScript】sliceとsubstringの違い|Webエンジニア Wiki
置き換える
大文字・小文字にする
String.toLowerCase()
ですべて小文字になる。
"Hello".toLowerCase(); // hello
String.toUpperCase()
ですべて大文字になる。
"Hello".toUpperCase(); // HELLO
指定した文字を置き換える
String.replace(old, new)
で、指定した文字に当てはまるもののうち最初の要素を置き換える。
"Hello".replace("l", "*"); // He*lo
String.replaceAll(old, new)
ですべて置換する。
"Hello".replaceAll("l", "*"); // He**o
分割する
String.split(str)
で、指定した文字列を仕切り文字として分割する。
空文字を指定することで、1文字ずつに分解することもできる。
"Hello".split(""); // ['H', 'e', 'l', 'l', 'o']
検索する
何文字目にあるか
String.indexOf(str)
は、指定した文字列の頭文字が含まれる最初のインデックスを返す。
なければ-1
を返す。
"Hello".indexOf("o"); // 4
String.lastIndexOf(str)
は、指定した文字列の頭文字が含まれる最後のインデックスを返す。
こちらもなければ-1
を返す。
"Hello".lastIndexOf("lo"); // 3
String.search(str)
は、文字列と正規表現のどちらも使うことができる。
なければ-1
を返す。
"Hello".search("el"); // 1
含むかどうか
String.includes(str)
は、指定した文字列が含まれているかどうかを判定する。
"Hello".includes("e"); // true
より詳しく正規表現を用いる場合は、Regex.test(str)
を使う。
/[A-Z]/.test("Hello"); // true
先頭・末尾がその文字列か
指定の文字列で始まるかどうかは、String.startsWith(str)
で検査できる。
"Hello".startsWith("Hell"); // true
指定の文字列で終わるかどうかは、String.endsWith(str)
で検査できる。
"Hello".endsWith("ello"); // true