【初心者向け】Javaのプログラミング~charAtとsubstringメソッドを使って部分的に文字列を取得する方法~

Java

どうもシュウです。
今回は部分的に文字列を取得する方法を紹介したいと思います。
コードを書いていて、文章の中からメールアドレスや電話番号、特定の文字列以降のデータを取得したいと思ったことないですか?
今回はその取得方法に関して、解説したいと思います。
では早速使い方を見てみましょう。

charAtメソッド

charAtメソッドはある文字列を1文字単位で取り出したい時に使用します。
使い方としては、「変数.charAt(数字)」です。
例えば、ABCDEFGの文字列が格納されている変数(str)からAを取り出したいと思ったら、str.charAt(0)で取り出すことができます。
Dを取り出したいなら、str.charAt(3)で取り出すことができます。
実際のコードで見てみましょう。

ABCDEFGの中から、DEFGをcharAtを使ってすべて取り出したいなら、for文とindexOfメソッドを使うと取り出すことができます。
indexOfメソッドは文字列の検索(先頭から数えて何番目にその特定の文字が出てくるのか)に使用します。
使い方としては、変数.indexOf(“知りたいの文字”);
今回の場合は、DEFGを取得したいのでDが何番目に登場するのかを知ることができれば、for文を使ってDEFGを取得できます。
実際のコードで使い方と一緒に取得できているのかを見てましょう。

新たに作った変数str2にDEFGが格納されています。
しかし、一つ一つ特定の文字列を取得してそれをfor文でループして
組み合わせて目的の文字列を取得するのって面倒ですよね・・・。
まとめて取得できれば楽ですよね。
そんな時に使用するのがsubstringメソッドです。

substringメソッド

substringメソッドはまとめて文字列を取得するときに利用します。
使い方としては、「変数.substring(開始+1, 終了)」です。
例えば、先ほどと同じABCDEFGからDEFGを取得したいなら、substring(3,7)(今回の場合は、Gが末尾なのでsubstring(3)でも可能です)で取得できます。
実際のコードで使い方と一緒に取得できているのかを見てましょう。

これを使って、実際に文章の中からメールアドレスを取得してみます。
例えば、以下の文章があったとします。

私のメールアドレスは、shu@example.comです。

この中から「shu@example.com」を取得したいとします。
その場合は、indexOfメソッドとlastIndexOfメソッド(末尾から数えて何番目に特定の文字がでてくるのか)を使えば取得できます。
実際にコードを書いて確認してみましょう。

メールアドレスを取得できています。

まとめ

charAtメソッドはある文字列を1文字単位で取り出したい時に使用します。
substringメソッドはある文字列をまとめて取り出したいときに使用します。

charAtメソッドとsubstringメソッドに関してはここまでです。
皆さんのお役に立つと嬉しいです。
最後まで読んでいただきありがとうございました。

コメント

PAGE TOP
タイトルとURLをコピーしました