文字を取り出すには

◆PROCESSING 逆引きリファレンス

 カテゴリー:文字関連処理

文字を取り出すには

【解説】

文字列を任意の文字で分割する方法については「文字の連結と分割」で解説しました。例えば “あさ,ひる,よる” という文字列を半角カンマ “,” で分割して、”あさ”  “ひる”  “よる”  の3つに分割する方法です。

今回は、文字列の左端(または右端)から、任意の文字数だけ取り出す方法を紹介します。

PROCESSINGはJavaをベースにした言語です。よって Stringクラスが持っている便利なメソッドが利用できます。文字列を取り出すには、Stringクラスが持っている substring() メソッドを利用します。

【構文】

String  sub  =  src.substring(  int  beginIndex  );
String  sub  =  src.substring(  int  beginIndex,  int  endIndex  );

src は 文字列を取得する元となる String型の文字列とします。
JavaのStringクラスについては、公式ドキュメント を参照してください。

【パラメータ】

int  beginIndex:0から始まる取り出し開始位置
int  endIndex:文字列の長さ までの、取り出し終了位置

【戻り値】

String  sub:取り出された新しい文字列

【注意】

取り出し開始位置の先頭(つまり1文字目)は 0 になります。また取り出し終了位置のMAXは、元の文字列の長さまでです。
substring説明1
endIndex  を省略した場合、取り出し位置以降にある全ての文字列を取得します。

  • beginIndex  が負の数
  • beginIndex  が 元の文字数-1 より大きい
  • endIndex  <  beginIndex

の何れかの条件を満たすと、実行時に「String index out of range」例外エラーが発生します。

また、元の文字列が null の場合は、 実行時に「NullPointerException」例外エラーが発生します。

ただし endIndex  を省略した場合のみ、beginIndex  は 0 から文字列長(上記例なら5)まで指定可能でした。この場合、beginIndex  に5を指定すると、空文字が戻されます。

空文字(””)に対する substring() は、endIndex  を省略して、かつbeginIndex  に0を指定した場合のみ正常に動作します。この場合は空文字が戻されます。

【関連記事】


サンプルプログラム

開始位置のみ指定して取り出す例:

開始位置に2を指定しているので、”あさ”の部分が無視されて、2以降にある全ての文字=”が来た” が取り出されます。
substring説明2

<出力サンプル>
substringサンプル1

 

開始位置と終了位置を指定して取り出す例:

開始位置と終了位置を両方指定しています。開始位置は2なので ”が” からです。終了位置は4なので “来” までになります。

substring説明3
<出力サンプル>
substringサンプル2

 

文字列の右端から取り出す例:

文字列の右端から2文字取り出す例です。文字列の長さ(字数)は、Stringオブジェクトのlength()メソッドで取得できます。

よって、右端から2文字は  src.length() – 2 から src.length() まで取り出せば良い事になります。
substring説明4

<出力サンプル>
substringサンプル3

 


PROCESSING逆引きリファレンス一覧 へ戻る

本ページで利用しているアイコン画像は、下記サイト様より拝借しております。各画像の著作権は、それぞれのサイト様および作者にあります。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


*

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