こんにちは!
皆さんはsplit()を使ったことがありますか?
split()を使うと、指定した文字を区切り文字として、文字列を分割することができます。
今回は、split()を使った文字列の分割方法について紹介していきます。
split()の書式
split()の書式は以下のようになります。
文字列.split(区切り文字)
split()は、戻り値として、文字列を区切り文字で区切った要素が格納されているリストを返します。
また、引数に何も指定しなければ、空白文字を区切り文字として文字列を分割します。
split()を使ってみる
では、早速split()を使ってみましょう。
区切り文字を指定して分割
区切り文字を指定して分割しましょう。
以下のプログラムは、区切り文字に「,」を指定して文字列を分割するプログラムです。
string = 'abc, def, ghi'
sp = string.split(',')
print(sp)
['abc', ' def', ' ghi']
区切り文字で区切ってリストに格納できていますね。
区切り文字を指定しないで分割
区切り文字を指定しないと、デフォルトで空白を区切り文字として文字列を分割します。
以下のプログラムは、区切り文字を指定しないで文字列を分割するプログラムです。
string = 'abc, def, ghi'
sp = string.split()
print(sp)
['abc,', 'def,', 'ghi']
もちろん、空白を区切り文字としてプログラムに明記しても大丈夫です。
以下のプログラムは、区切り文字に「 」(空白)を指定して文字列を分割するプログラムです。
string = 'abc, def, ghi'
sp = string.split(' ')
print(sp)
区切り文字を指定しなかった場合と実行結果は変わりません。
文字列の先頭や末尾に空白がある文字列の分割
文字列の先頭や末尾に空白がある場合の文字列を分割する際は少し注意が必要です。
この場合には、引数に何も指定しない場合と、引数に空白を指定する場合で少し挙動が変わります。
以下のプログラムは、文字列の先頭や末尾に空白がある文字列を、引数に何も指定せずに分割するプログラムです。
string = ' abc def ghi '
sp = string.split()
print(sp)
['abc', 'def', 'ghi']
以下のプログラムは、文字列の先頭や末尾に空白がある文字列を、引数に空白を指定して分割するプログラムです。
string = ' abc def ghi '
sp = string.split(' ')
print(sp)
['', 'abc', 'def', 'ghi', '']
引数に何も指定せずに分割した場合は、文字列の先頭や末尾の空白は無視されます。
しかし、引数に空白を指定した場合には、文字列の先頭や末尾の空白も区切り文字とみなされ、戻り値のリストの最初と最後の要素に空の要素が作成されます。
まとめ
いかがでしたか?
split()を使った文字列の分割方法について理解できたでしょうか?
split()の引数には、区切り文字を指定します。
またsplit()の引数を指定しないことで、空白を区切り文字として指定します。
split()の使い方をしっかりと覚えて、様々な処理をできるようになりましょう!