文字列を分割する – splitメソッド
public String[] split(CharSequence input [,int limit])
input:分割対象の文字列
limit:最大分割数
Pattern#splitメソッドを利用することで、指定の文字列を正規表現にマッチした箇所で分割できます。
たとえば以下は、文字列を<br…>(「…」は「>」以外の文字列)で分割する例です。
RegexSplit.java
- package com.example.mynavi.regex;
- import java.util.regex.Pattern;
- public class RegexSplit {
- public static void main(String[] args) {
- var greet = "こんにちは<br>今日は良い天気<br />頑張りましょう";
- var p = Pattern.compile("<br([^>]*)>" ,Pattern.CASE_INSENSITIVE);
- var results = p.split(greet);
- for (String result : results) {
- System.out.println(result);
- }
- }
- }
↓
- こんにちは
- 今日は良い天気
- 頑張りましょう
すべてを分割するのではなく、分割する個数を制限したいならば、splitメソッドの第2引数に分割数を指定してください。たとえば「p.split(greet, 2)」で2分割されます。
String#splitメソッド
正規表現パターンを再利用しないならば、String#splitメソッドの方が簡単に表せます。以下は、上と同じ意味のコードです。
RegexSplit2.java(抜粋)
- var results = greet.split("<br([^>]*)>");
監修
山田祥寛(有限会社 WINGSプロジェクト)
静岡県榛原町生まれ。一橋大学経済学部卒業後、NEC にてシステム企画業務に携わるが、2003年 4 月に念願かなってフリーライターに転身。Microsoft MVP for Visual Studio and Development Technologies。執筆コミュニティ「WINGSプロジェクト(https://wings.msn.to/)」の代表でもある。主な著書に『改訂 3 版JavaScript 本格入門』(技術評論社)、「独習シリーズ(C#・Python・PHP・Ruby・JSP&サーブレットなど)」(翔泳社)、「速習シリーズ(ASP.NET Core・Vue.js・React・TypeScript・ECMAScript、Laravel など)」(Amazon Kindle)など。売り上げの累計は100万部を超える。