JavaScript String 文字列オブジェクト

JavaScriptにおける文字列はオブジェクトであり、さまざまなプロパティやメソッドを持ちます。ここでは、プロパティおよびメソッドの一覧と、それらの使い方をご紹介します。

目次

  1. 1 コンストラクタ
  2. 2 プロパティ
    1. 2.1 constructor
    2. 2.2 length
    3. 2.3 prototype
  3. 3 メソッド
    1. 3.1 charAt
    2. 3.2 charCodeAt
    3. 3.3 concat
    4. 3.4 fromCharCode
    5. 3.5 indexOf
    6. 3.6 lastIndexOf
    7. 3.7 localeCompare
    8. 3.8 match
    9. 3.9 replace
    10. 3.10 search
    11. 3.11 slice
    12. 3.12 split
    13. 3.13 substring
    14. 3.14 toLocaleLowerCase
    15. 3.15 toLocaleUpperCase
    16. 3.16 toLowerCase
    17. 3.17 toString
    18. 3.18 toUpperCase
    19. 3.19 trim
    20. 3.20 valueOf

コンストラクタ

String オブジェクトのコンストラクタを使って、文字列オブジェクトを生成できる。

const s = new String("文字列オブジェクト");

プロパティ

JavaScriptの文字列は、次に示すプロパティを持つ。

Stringオブジェクトのプロパティ
プロパティ 説明
コンストラクタ コンストラクタ関数
length 文字列の長さ
prototype プロパティとメソッドをオブジェクトに追加することを許す

length

length プロパティは文字列の長さを表す。文字数であり、バイト数ではない。

let l = "あいうえお".length; // l = 5

メソッド

JavaScriptの文字列は、次に示すメソッドを持つ。

Stringオブジェクトのメソッド
メソッド 説明
charAt 指定位置の文字を返す。
charCodeAt 指定位置の文字のUnicodeを返す。
concat 文字列を連結して返す。
fromCharCode Unicodeを文字に変換して返す。
indexOf 指定した文字列が最初に現れる位置を返す。
lastIndexOf 指定した文字列が最後に現れる位置を返す。
localeCompare 現在のロケールで2つの文字列を比較する。
match 正規表現で指定したパターンに一致する文字列を検索する。
replace 正規表現で指定したパターンに一致する文字列を置き換える。
search 正規表現で指定したパターンに一致する文字列を検索する。
slice 指定した開始位置と終了位置で文字列を切り出して返す。
split 指定した文字列で区切った文字列を配列で返す。
substring 指定した開始位置と終了位置で文字列を切り出して返す。
toLocaleLowerCase ホストのロケールに従って文字列を小文字に変換して返す。
toLocaleUpperCase ホストのロケールに従って文字列を大文字に変換して返す。
toLowerCase 文字列を小文字に変換して返す。
toString Stringオブジェクトの値を返す。
toUpperCase 文字列を大文字に変換して返す。
trim 先頭と末尾の空白を取り除いた文字列を返す。
valueOf Stringオブジェクトのプリミティブ値を返す。

replace()

文字列を置き換える。

String.replace(substr, newStr)
String.replace(regexp, newStr)
String
Stringオブジェクト又は文字列リテラル
substr
置換前の部分文字列を指定する。
newStr
置換後の文字列を指定する。
regexp
置換前の部分文字列を正規表現で指定する。正規表現は引用符で括らない。

戻り値

置き換え後の文字列を返す。

Stringオブジェクトの文字列を置換するJavaScriptの例を示す。

<p id="ex1"></p>
<script>
  const s = "foo bar baz";
  document.getElementById("ex1").innerHTML = s.replace("ba", "BA")
</script>

文字列リテラルを置換するJavaScriptの例を示す。

<p id="ex2"></p>
<script>
  document.getElementById("ex2").innerHTML = "foo bar baz".replace("ba", "BA")
</script>

正規表現にマッチする部分文字列を一度だけ置換するJavaScriptの例を示す。

<p id="ex3"></p>
<script>
  document.getElementById("ex3").innerHTML = "foo Bar baz".replace(/[Bb]a/, "BA")
</script>

正規表現にマッチする部分文字列をすべて置換するJavaScriptの例を示す。

<p id="ex4"></p>
<script>
  document.getElementById("ex4").innerHTML = "foo Bar baz".replace(/[Bb]a/g, "BA")
</script>

参考文献

Ecma International 2023. 22 Text Processing. ECMAScript Language Specification