[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][Eclipse] Mavenが利用可能な動的Webプロジェクトの作成

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

記事を読む

no image

[Java][Jersey] JerseyでRESTfulなJAX-RS Webサービス作成

こんにちは、keiです。 今回はRESTfulなWeb Serviceの作成を行っていきます。

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

[Java] Apache POIでExcel操作!

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

記事を読む

no image

[Java][JSP] EclipseでのJSP作成

今回は、Eclipseを用いてJSPを作成してみます。 まず、Eclipseを起動します。

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

no image

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

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

記事を読む

スポンサードリンク

Comment

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

Message

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

スポンサードリンク

no image
[Re:dash] BigQuery接続で日本語タイトルを出す(v2.0.0)

BigQueryは現在マルチバイトを含むSQLを発行することができない

no image
[Python] Nullの判定方法(None)

Nullの判定方法(None) 表記方法 Pythonでは、Nul

no image
[Python] 型の検査・判定

Pythonでの型の検査・判定方法 isinstance サン

no image
[python] 日付の取り扱い(datetime) 現在日付、計算、文字列変換(format)

現在日付 日付の計算 [crayon-5b0b5b0a2022

no image
[python] 文字列結合

pythonでの文字列結合 サンプル

→もっと見る

  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
  • 2018年5月
    « 10月    
     123456
    78910111213
    14151617181920
    21222324252627
    28293031  
PAGE TOP ↑