メソッド split()
メニューを表示するにはスワイプしてください
String[] split(String delimiter)
split(String delimiter) メソッドは、指定されたデリミタ(文字または文字列)に基づいて文字列を部分文字列の配列に分割します。戻り値は、元の文字列をデリミタで区切った各部分文字列を要素とする配列です。
文字列を String[] に分割する方法
文を単語の配列に分割するタスクがあるとします。この場合、スペース文字(append)に出会うまで" "する方法もありますが、split()メソッドを使うこともできます。
split()メソッドは、Stringをパラメータとして受け取るregexメソッドです。regexとは何でしょうか?Regexは正規表現の略で、文字列を分割するために使用する文字や文字の集合です。正規表現にスペース文字" "を入力すれば、文が単語ごとに分割されます。
例を見てみましょう:
Main.java
12345678910111213141516171819package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String string = "This is the sentence that we want to split"; // split the string into an array based on spaces String[] array = string.split(" "); printArray(array); } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.println(element + " "); } } }
ここでは、文字列を単語の配列に分割しています。プログラムに " " を指定することで、" " が現れるたびに文を分割するようにしています。
特定の文字で文字列を分割する方法
他の任意の文字を使って文字列を分割することも可能です。例えば、リンク内の "/" が現れる箇所で分割してみましょう。
Main.java
12345678910111213141516171819package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String link = "codefinity.com/profile/my-home"; // split the string into an array based on "/" String[] array = link.split("/"); printArray(array); // print the array elements } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.println(element + " "); } } }
URL を "/" 文字ごとに分割し、URL の各要素を確認できるようになりました。つまり、文字列を "/" で分割すると、文字列型の配列が得られます。
また、メソッドが分割時に 指定した文字を削除する ことにも注目してください。
文字列を String 型で文字ごとに分割する方法
1 文字ごとに配列へ分割したい場合、パラメータとして空の引用符("")を指定するだけで実現できます。例を見てみましょう:
Main.java
123456789101112131415161718192021package com.example; // do not modify the code below this comment public class Main { public static void main(String[] args) { String string = "c<>definity"; // split the string into an array of individual characters String[] array = string.split(""); printArray(array); } // method to print each element of the array static void printArray(String[] array) { for (String element: array) { System.out.print(element + " "); } // print a new line after the array elements System.out.println(); } }
文字列を 1 文字ずつ分割しました。toCharArray() のような専用メソッドがあると思うかもしれませんが、違いとして split() メソッドを使うと要素が String 型の配列となり、toCharArray() では要素が char 型の配列となります。
フィードバックありがとうございます!
AIに質問する
AIに質問する
何でも質問するか、提案された質問の1つを試してチャットを始めてください