年収アップ無料転職カウンセリング実施中! | 転職エージェントはマイナビエージェント

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職

splitメソッド

文字列を分割する – splitメソッド
public String[] split(CharSequence input, int limit)
input:分割対象の文字列
limit:最大分割数

Pattern#splitメソッドを利用することで、指定の文字列を正規表現にマッチした箇所で分割できます。
たとえば以下は、文字列を<br…>(「…」は「>」以外の文字列)で分割する例です。

RegexSplit.java

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
package com.example.mynavi.regex;
 
import java.util.regex.Pattern;
 
public class RegexSplit {
  public static void main(String[] args) {
    String greet = "こんにちは
今日は良い天気
頑張りましょう";
    Pattern p = Pattern.compile("<br([^>]*)>" ,Pattern.CASE_INSENSITIVE);
    String[] results = p.split(greet);
    for (String result : results) {
      System.out.println(result);
    }
  }
}

↓

1
2
3
こんにちは
今日は良い天気
頑張りましょう

すべてを分割するのではなく、分割する個数を制限したいならば、splitメソッドの第2引数に分割数を指定してください。たとえば「p.split(greet, 2)」で2分割されます。

note

String#splitメソッド
正規表現パターンを再利用しないならば、String#splitメソッドの方が簡単に表せます。以下は、上と同じ意味のコードです。

RegexSplit.java(抜粋)

1
String[] results = greet.split("<br([^>]*)>");
正規表現
主な正規表現パターン
Pattern/Matcherクラス
replaceAllメソッド
splitメソッド

年収アップ無料転職カウンセリング実施中! | 転職エージェントはマイナビエージェント

Geekroid-ギークロイド(仮)|ITエンジニアの日常をささいな情報で彩るコラム

ITエンジニアの転職