JavaScriptのStringオブジェクトのsubstr()メソッドについて記載します。
概要、実際のサンプルコードを交えて構文などの使い方をまとめてみました。
JavaScriptのStringオブジェクトとは?
JavaScript(JS) のStringオブジェクト(文字列)は、他の言語と比べて、動的なデータ型として定義されています。
そして、 他のプログラミング言語 (C 言語など) とは異なり、文字列のメソッドが豊富に用意されています。
また、文字列と数値を効率的に相互変換する方法も提供されています。
事前に定義されたメソッドを利用して文字列操作が容易に出来る点も他言語と比べても有利な点ですが、他の言語と比べて一部の文字列処理が遅くなることがあるとも言われています。
それでは、次に本題の説明に移ります。
JavaScriptのStringオブジェクトのsubstr()概要
substr()は、文字列から一部を取り出すメソッドです。
引数に開始位置と取り出す文字数を指定します。
構文、使い方
構文:string.substr(start [, length])
使い方:文字列から指定した位置から指定した長さ分の文字列を取得する。
start は開始位置を、length は取得する文字列の長さを指定する。
引数について
substr()は、引数として、取得する文字列の開始位置と取得する文字数を指定します。
返り値について
substr()は、指定した文字列から、指定した開始位置と長さを持つ部分文字列を返します。
このメソッドを利用した便利なテクニック
substr()を使うと、文字列から特定の部分を取り出すことができます。
例えば、文字列の最後の2文字を取り出すには、次のようにします。
1 2 |
var str = ""Hello World!""; var lastTwo = str.substr(-2); // lastTwo = ""d!"" |
現場で実際にどのように使われているか
Stringオブジェクトのsubstr()は、文字列から指定した位置から指定した長さの文字列を取得するために使用されます。
例えば、次のコードは、文字列””Hello World””から3文字を取得します。
1 2 |
var str = ""Hello World""; var substr = str.substr(0, 3); // substrは""Hel"" |
JavaScriptのStringオブジェクトのsubstr()と一緒によく使われる処理
lengthプロパティを使用することです。
これは、substr()を使用して文字列から一定の長さの文字列を取得するために必要なためです。
使用する上での注意点
substr()は、文字列から指定した開始位置から指定した文字数分だけ文字列を取り出すメソッドですが、開始位置が負の場合は文字列の末尾から数えた位置を指定したものとして扱われます。
JavaScriptのStringオブジェクトのsubstr()と似た処理のJSメソッド、違い
substring()メソッドと似ていますが、下記違いがあります。
- substr()メソッドは、開始インデックスと文字列の長さを指定して文字列を取得します。
- substring()メソッドは、開始インデックスと終了インデックスを指定して文字列を取得します。
JavaScriptのStringオブジェクトのsubstr()を使ったサンプルコードの紹介
Stringオブジェクトのsubstr()のサンプルコード
substr()の使用例
1 2 3 4 5 |
// 文字列を指定して抽出 let str = 'JavaScript'; let result = str.substr(4, 6); console.log(result); |
substr()を使用した文字列の置換
1 2 3 4 5 |
// 文字列を指定して置換 let str = 'JavaScript'; let result = str.substr(0, 4) + 'HTML' + str.substr(10); console.log(result); |
substr()を使用した文字列の長さの取得
1 2 3 4 5 |
// 文字列の長さを取得 let str = 'JavaScript'; let result = str.substr(0, str.length); console.log(result); |
”
JavaScript stringオブジェクトの他メソッドについて
JavaScriptのstringオブジェクトの他メソッドについては、下記記事にもまとめていますので参考にしてみてください
また、JavaScriptの公式ドキュメントであるMDNで記載されているstringオブジェクトのsubstrメソッドについても補足としてリンクを貼っておきます。参考にしてみてください。