[java] 文字列の一部を切り取る方法(substring)

こんにちは。

今回は文字列の一部を切り取る方法について解説します。
具体的には、String.substringメソッドの使い方の説明です。

ある文字列のx番目からy番目までの文字を抜き取るイメージです。

●文法
public String substring(beginindex, endindex)

beginindex: 開始位置のindexです。先頭からなら「0」となります。
endindex: 終了位置のindexに1を加えた値です。直観的ではないですが、endindex-beginindexが切り取り後の文字列長になるようです。


また、Stringクラスのメソッドですので、「切り取り元の文字列は変化せずそのまま」です。
切り取られた文字列は、元の文字列と別のオブジェクトとなります。

●覚え方
私はいつもド忘れしてしまうので、以下のような絵で覚えてます。
「20140725」という文字列の「年」を切り取りたい場合、以下になります。

"20140725".substring(0, 4) // ⇒「2014」が切り取られる

substring1

「20140725」という文字列の「月」を切り取りたい場合、以下になります。

"20140725".substring(4, 6) // ⇒「07」が切り取られる

substring2

「20140725」という文字列の「日」を切り取りたい場合、以下になります。

"20140725".substring(6, 8) // ⇒「25」が切り取られる

substring3

●サンプルプログラム
最後にサンプルプログラムで実際に試しましょう。

YYYYMMDD形式の日付リストをYYYY-MM-DD形式に変換して出力します。

●プログラム

package test.string.substring;

import java.util.ArrayList;
import java.util.List;

public class TestSubstring {

	public static final String SEPERATOR = "-";

	public static void main(String[] args){

		// リスト初期化
		List<String> list = new ArrayList<String>();

		// 文字列リスト作成
		list.add("20140701");
		list.add("20140702");
		list.add("20140703");
		list.add("20140704");
		list.add("20140705");

		for(String str : list){

			// YYYY-MM-DD形式で出力する
			System.out.println(str.substring(0, 4) + SEPERATOR + str.substring(4,  6) + SEPERATOR + str.substring(6, 8));
		}
	}
}

●実行結果

2014-07-01
2014-07-02
2014-07-03
2014-07-04
2014-07-05

スポンサードリンク

関連記事

no image

[Java][基本] ループ処理(for文)

Javaのループ処理の基本である、for文を解説します。 ●文法 for( [①初期化];

記事を読む

no image

[Java][Servlet] EclipseでのJavaServlet作成

こんにちは、今回はEclipseを使用してJavaServletを作成します。 Eclipse

記事を読む

no image

[Java] 文字列の分割(split)

こんにちは。 今回は、文字列の分割について解説します。 昔はStringTokenize

記事を読む

no image

[Java] CSVファイルの読み込み方法

こんにちは、kei0310です。 CSVファイルをJavaに取り込む方法を解説します。

記事を読む

no image

[Java][Servlet][JSP] ServletからJSPへの転送

こんにちは。 今回は、「Servletでリクエストを受けて、JSPで表示する。」方法を解説しま

記事を読む

no image

[Java][Spring] DIする方式を細かく見てみる① @ScopeでのSingletonとPrototypeの指定

今回は@Scopeアノテーションを用いて、オブジェクトをDIする方式を選択してみます。 ●解説

記事を読む

no image

[Java] Apache POIでExcel操作!

Apache POIをまずは使ってみようという方(自分も含め)のメモ 導入 Maven htt

記事を読む

no image

[Java] StringBuilderの使い方(Stringを連結するクラス)

今回は、可変長文字列クラスのStringBuilderを紹介します。 固定長文字列クラスのSt

記事を読む

no image

[Java][MySQL] JavaからMySQLを使う方法

MySQLは、フリーでありながら商用としても使用できるパワーを持つデータベース(RDB)です。

記事を読む

no image

[Java][Framework] Spring Bootを使って、Spring MVC速攻開発してみる!(DB接続あり)

STSインストール STSは、EclipseにSpring関連のいろいろな機能を詰め込んだオールイ

記事を読む

スポンサードリンク

Comment

  1. […] テスト投稿 テスト投稿2 […]

Message

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

スポンサードリンク

no image
CentOSにdockerをインストールしてみた

前置き dockerをcentos7にインストールしてみました

no image
awkでのgsubを使った文字列置換(正規表現)

まえおき bashなどのシェルスクリプトで、lsした結果とかを

no image
bashで並列処理する方法(xargs)

並列処理とは 通常、意識せずにプログラムを書くと、大体の場合は

no image
AWS Redshiftの使用ストレージ容量をクエリで調べる方法

用途 AWS Redshfitのコンソールを見れば、使用中のス

no image
pythonでstorage transfer serviceを使ってみた。

準備 pythonのインストールとかする。 このあたり。

→もっと見る

  • 2024年10月
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • 2024年10月
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
PAGE TOP ↑