Pythonで複数の区切り文字を使って文字列を分割する方法
re.split()メソッドによる複数区切り文字での分割
Pythonでは、標準ライブラリのreモジュールが提供するre.split(区切り文字, 文字列)メソッドを使うことで、複数の区切り文字を指定して文字列を簡単に分割できます。このメソッドには、区切り文字を表す正規表現パターンと、分割したい文字列を渡します。
基本的な使い方
次の例では、セミコロン(;)、カンマ(,)、アスタリスク(*)、改行(\n)という4種類の区切り文字を、1つの正規表現でまとめて処理しています。
a = 'Beautiful, is; better*than\nugly'
import re
print(re.split('; |, |\*|\n', a))実行結果
['Beautiful', 'is', 'better', 'than', 'ugly']
正規表現パターンの解説
;… 「; 」(セミコロン+半角スペース)に一致,… 「, 」(カンマ+半角スペース)に一致\*… アスタリスク(*)に一致(正規表現で特殊な意味を持つため、バックスラッシュでエスケープが必要)\n… 改行文字に一致
このように、各パターンを「|」でつなぐことで、複数の区切り文字を1つの正規表現として指定できます。その結果、元の文字列はすべての区切り文字で分割され、要素ごとのリストとして返されます。
-
Pythonの文字列は不変(イミュータブル)!同じ文字列でもid()が変わる仕組みを解説
Pythonにおいて、文字列(str型)は不変(イミュータブル)なオブジェクトです。つまり、一度作成された文字列は後から変更できません。また、Pythonでは同じ内容の文字列を作成して別々の変数に代入した場合、両方の変数が同じ文字列オブジェクト(同じメモリ領域)を参照するように最適化されることがあります。実際に確認してみましょう。同じ文字列は同じid()を持つケース>>> a = hi >>> b = hi >>> id(a) 43706848L >>> id(b) 43706848Lこのように、変数aと変数bはまったく同
-
【初心者向け】Pythonで文字列にスペースを埋め込む方法|ljust・rjustメソッドの使い方
Pythonでは、文字列の右側にスペースや任意の文字を埋め込む(パディングする)際に、str.ljust(width[, fillchar])メソッドを使用します。第2引数のfillcharには、埋め込みに使用する文字を指定でき、省略した場合は半角スペースが適用されます。使用例:文字列の右側をパディングするprint(Mona Lisa.ljust(12)) print(Mona Lisa.ljust(12,$))出力結果Mona Lisa Mona Lisa$$$この例では、9文字のMona Lisaが全体で12文字になるよう、末尾へスペースまたは「$」が自動的に補われています。