プログラミングを勉強するサイトです。今まで使ってこなかった言語を新しく勉強し始めたのをきっかけに、プロブロを始めました。

【JavaScript】substringメソッドを使って文字列の一部を取得する

【JavaScript】substringメソッドを使って文字列の一部を取得する

 

文字列の一部を抜き出すsubstring。

開始位置や終了位置を指定して使います。

最初の文字は0文字目?それとも1文字目?[br num=”1”]終了位置の数字の文字数目まで抜き出されるのか、それとも1つ左まで?

などなど図で解説していきます。

substring()メソッドの構文

構文は次のとおりです。

str.substring(start [,end]);

strは元の文字列です。[br num=”1″]startは抜き出す開始位置、endは終了位置。[br num=”1″]最初の文字を0文字目として、1,2,3・・・と、バイト数ではなく文字の位置を数えます。

抜き出した文字列が、戻り値として返ってきます。

substringの使い方いろいろ

引数の指定の仕方によって、結果がいろいろ変わります。

第一引数、スタートのみ指定

2つ目の引数Endは省略可。[br num=”1″]1つ目だけ指定した場合は、指定した位置から最後までの文字列が返ってきます。

var str = "あきらめたらそこで試合終了ですよ…?";
console.log(str.substring(6)); //そこで試合終了ですよ…?

図で表すとこんな感じ。

第二引数、エンドも指定

2つ目の引数を省略せず指定するときも、いくつかパターンがあります。

スタート<エンドのとき

スタートの位置より後ろを指定する場合です。[br num=”1″]個人的には、エンドのほうはこのパターンしか見たことないですが。

var str = "あきらめたらそこで試合終了ですよ…?";
console.log(str.substring(6, 13)); //そこで試合終了

この例では、6文字目から12文字目までを抜き出します。

6より13のほうが大きいので、13は抜き出す文字の右端の位置。[br num=”1″]この13文字目の1つ左側の位置が抜き出される右端になります。

 

スタートとエンドが逆転したとき

開始位置が13で終了位置が6、これでもちゃんと抜き出せます。

var str = "あきらめたらそこで試合終了ですよ…?";
console.log(str.substring(13, 6)); //そこで試合終了

スタート>エンドなので、スタートが右端、エンドが左端となります。[br num=”1″]先ほどの例と同じように、右端は指定した数字の位置の文字が含まれません。[br num=”1″]1つ左側までです。

エンドがマイナスのとき

負の数を指定した場合、勝手に0とみなされます。

var str = "あきらめたらそこで試合終了ですよ…?";
console.log(str.substring(13, -6)); //あきらめたらそこで試合終了

右端の位置は、スタートとエンドが逆転した場合と同じです。

まとめ:substring()メソッドはとても便利

substring()メソッドはとても便利です。

使える言語は、JavaScriptの他にC#やSQLServerなど。[br num=”1″]とても便利なので、substringの無い言語では、自作して使われることもよくあります。

 

よく似たメソッドや他の言語によっては、開始位置と、終了位置ではなく抜き出す文字数を指定するものもあります。[br num=”1″]「終了位置だと思い込んでいたら、実は文字数だった」とかバグの元になるので、引数が何を表すのか念のため確認してから使うと良いでしょう。

この記事をシェアする

記事一覧へ戻る

コメント Comments

コメント一覧

コメントはありません。

コメントする

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)

トラックバックURL

https://pro-blo.com/javascript/how-to-use-substring/trackback/

関連記事 Relation Entry