文字列をある文字で分割する #
文字列に対して、ある文字を境に複数に分割したいという場面もあるだろう。 ここではその方法についてを示す。
Javaで文字列の分割を行うにはStringのメソッドであるsplitを利用する。
public String[] split(String regex, int limit)
第1引数には分割する際の境目となる文字列を正規表現で入力し、
第2引数には分割を行う回数を入力する。負の数を入力すると無制限に分割を行う。0を入力した場合、分割後の末尾が空白になる場合はそれを格納しない。
使用例を以下に示す。
import java.util.Arrays;
class Main{
public static void main(String args[]){
String s = "apple-banana-cherry-durian--";
String[] t = s.split("-",-1);
System.out.println(Arrays.toString(t)); //[apple, banana, cherry, durian, , ]
t = s.split("-",0);
System.out.println(Arrays.toString(t)); //[apple, banana, cherry, durian]
t = s.split("-",2);
System.out.println(Arrays.toString(t)); //[apple, banana-cherry-durian--]
}
}
splitメソッドの返り値はString型の配列になるので、結果を格納したい場合はString型の配列を用意する。
pythonで文字列を分割するには文字列(str)のsplit関数を使う。
str.split(sep=None, maxsplit=-1)
第1引数sep には区切り文字を入れる。入力しない場合は、デフォルトで空白文字が使われる。またこの時、連続している空白文字は一つの区切り文字として扱われる。
第2引数maxsplitには分割する回数を入力する。-1の場合、無制限に分割する。入力しない場合はデフォルトで-1が入る。
戻り値はリストになる。
>>> s = "apple-banana-cherry-durian--"
>>> print(s.split("-",-1))
['apple', 'banana', 'cherry', 'durian', '', '']
>>> print(s.split("-",0))
['apple-banana-cherry-durian--']
>>> print(s.split("-",2))
['apple', 'banana', 'cherry-durian--']
>>>
cf. 組み込み型 - split() https://docs.python.org/ja/3/library/stdtypes.html#str.split
また、改行文字で分割したいときは**splitlines()**関数を利用する。
Javascriptで文字列を分割するにも同様にsplit関数を使う。
文字列.split(区切り文字[,最大分割回数])
var s = "apple-banana-cherry-durian--"
let sp = s.split('-');
console.log(sp)
実行結果
["apple", "banana", "cherry", "durian", "", ""] (6)