[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] 文字列の分割(split)

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

記事を読む

no image

[Java][Framework] Spring BootのJPAでDB接続した際のEntityキャッシュのクリア方法

Spring BootのJPAでDBアクセスした際に、処理を一定量こなすと、Heapが足りなくな

記事を読む

no image

[Java] 日付の計算方法(DateFormat、Date、Calendar)

こんにちは、kei0310です。 Javaで日付を計算する方法について解説します。 まず

記事を読む

no image

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

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

記事を読む

no image

[Java] クラスとインスタンス

こんにちは。 クラスとインスタンスについて解説します。 インスタンスは「オブジェクト」とも言

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

[Java][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

こんにちは、keiです。 今回は、Mavenが利用可能な動的Webプロジェクトの作成について解

記事を読む

no image

[Java] テキストファイルの読み込み方法

こんにちは、今回はテキストファイルをJavaで読む方法を紹介します。 標準で提供されているクラ

記事を読む

no image

[Java][基本] mainメソッドの書き方

こんにちはkeiです。 Javaの基本として、意外と知らないmain関数について解説します。

記事を読む

スポンサードリンク

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のインストールとかする。 このあたり。

→もっと見る

  • 2026年10月
    月 火 水 木 金 土 日
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
  • 2026年10月
    月 火 水 木 金 土 日
     1234
    567891011
    12131415161718
    19202122232425
    262728293031  
PAGE TOP ↑