Pythonで文字列を分割する方法|split()メソッドの使い方を解説
プログラミングをしていると、区切り文字(デリミタ)を基準に文字列を複数の部分へ分割したい場面がよくあります。Pythonではsplit()メソッドを使うことで、この処理を簡単に実現できます。さらに、区切り文字や分割回数を指定することで、柔軟に分割処理を制御することも可能です。
split()メソッドの基本
split()メソッドを引数なしで呼び出した場合、空白文字(スペース・タブ・改行など)がすべて区切り文字として扱われ、文字列はリストに分割されて返されます。
一方、第1引数に区切り文字を指定し、第2引数(maxsplit)に最大分割回数を指定すると、左側から指定した回数だけ分割が行われ、残りの部分はそのまま1つの要素として返されます。
コード例
以下の例では、複数の単語がスペースで区切られた文字列を用意しています。注目すべきは「Banana」と「Grapes」の間にスペースが2つある点です。引数を指定しない場合、各スペースがすべて区切り文字として認識されます。
str = "Apple Banana Grapes Apple"
print(str.split())
print(str.split(' ', 2))
実行結果
上記のコードを実行すると、次のような結果が出力されます。
['Apple', 'Banana', 'Grapes', 'Apple'] ['Apple', 'Banana', ' Grapes Apple']
結果の解説
- 1行目: 引数なしのsplit()では、すべてのスペースが区切り文字となるため、4つの単語がそれぞれ独立した要素としてリストに格納されます。
- 2行目: split(' ', 2)では、スペースを区切り文字として最大2回までしか分割しないため、先頭にスペースを含む「 Grapes Apple」の部分がそのまま1つの要素として残ります。
-
Pythonで文字列を逆順にする方法|スライスとreversed()の使い方を解説
Pythonでは、文字列スライスやrange演算子を活用することで、文字列を簡単に逆順(反転)にすることができます。この記事では、代表的な2つの方法をわかりやすく解説します。 方法1:スライス記法 [::-1] を使う(推奨・高速) 最もシンプルで一般的なのが、スライス記法を使う方法です。ステップに -1 を指定するだけで、文字列を後ろから前へ一文字ずつ取り出せます。 >>> Hello[::-1] olleH >>> Halloween[::-1] neewollaH スライスの仕組み 角括弧 [] の中には、コロン「:」で区切った3つの値を指定できます
-
Pythonで文字列が英数字のみかどうかを判定する方法【isalnum()と正規表現】
Pythonでは、文字列が英数字(アルファベットと数字)のみで構成されているかどうかを簡単に判定できます。主な方法は2つあります。文字列クラスに組み込まれている isalnum() メソッドを使う方法と、正規表現を使う方法です。 isalnum()メソッドを使う方法 Pythonの文字列クラスには isalnum() というメソッドが用意されています。このメソッドを文字列に対して呼び出すと、文字列が英数字のみで構成されている場合に True を、記号などが含まれる場合には False を返します。 >>> 123abc.isalnum() True >>>