Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonの組み込み文字列メソッド一覧|全40種類の使い方をわかりやすく解説

Pythonには、文字列を操作するための組み込みメソッドが多数用意されています。これらを活用することで、文字列の検索・置換・整形・判定などを追加のコードをほとんど書かずに行えます。

Pythonの主な文字列メソッド一覧

以下の表は、Pythonで使える代表的な文字列メソッド40種類をまとめたものです。各メソッドの構文と概要を確認できます。

No.メソッド名説明
1capitalize()文字列の最初の文字を大文字にします。
2center(width, fillchar)元の文字列が中央に来るよう、指定した幅(width)までfillcharで埋めた文字列を返します。
3count(str, beg=0, end=len(string))文字列全体、またはbeg〜endで指定した範囲内にstrが出現する回数を数えます。
4decode(encoding='UTF-8', errors='strict')指定したエンコーディング用のコーデックを使ってバイト列をデコードします。
5encode(encoding='UTF-8', errors='strict')文字列をエンコードした結果を返します。エラー時はerrorsに'ignore'や'replace'が指定されていない限りValueErrorを送出します。
6endswith(suffix, beg=0, end=len(string))文字列(または指定範囲の部分文字列)がsuffixで終わるかどうかを判定し、真ならTrueを返します。
7expandtabs(tabsize=8)文字列内のタブをスペースに展開します。tabsize未指定の場合は1タブにつき8スペースがデフォルトです。
8find(str, beg=0, end=len(string))strが文字列内に存在するかを検索し、見つかった場合は先頭のインデックスを、見つからない場合は-1を返します。
9index(str, beg=0, end=len(string))find()と同じ動作ですが、strが見つからない場合に例外を発生させます。
10isalnum()文字列が1文字以上で、すべて英数字である場合にTrueを返します。
11isalpha()文字列が1文字以上で、すべてアルファベットである場合にTrueを返します。
12isdigit()文字列が数字のみで構成されている場合にTrueを返します。
13islower()大小の区別がある文字を含み、それらがすべて小文字である場合にTrueを返します。
14isnumeric()Unicode文字列が数値文字のみで構成されている場合にTrueを返します。
15isspace()文字列が空白文字のみで構成されている場合にTrueを返します。
16istitle()文字列が正しい「タイトルケース」(単語の先頭だけ大文字)である場合にTrueを返します。
17isupper()大小の区別がある文字を含み、それらがすべて大文字である場合にTrueを返します。
18join(seq)シーケンスseqの各要素を区切り文字で連結し、1つの文字列にします。
19len(string)文字列の長さ(文字数)を返します。
20ljust(width[, fillchar])元の文字列を左寄せにし、指定幅まで空白などで埋めた文字列を返します。
21lower()文字列内のすべての大文字を小文字に変換します。
22lstrip()文字列の先頭にある空白をすべて削除します。
23maketrans()translate()で使用する変換テーブルを作成して返します。
24max(str)文字列strの中で最も大きい(辞書順で後ろの)文字を返します。
25min(str)文字列strの中で最も小さい(辞書順で前の)文字を返します。
26replace(old, new [, max])文字列内のoldをnewに置き換えます。maxが指定された場合は最大max回まで置換します。
27rfind(str, beg=0, end=len(string))find()と同じですが、文字列の末尾から逆方向に検索します。
28rindex(str, beg=0, end=len(string))index()と同じですが、文字列の末尾から逆方向に検索します。
29rjust(width[, fillchar])元の文字列を右寄せにし、指定幅まで空白などで埋めた文字列を返します。
30rstrip()文字列の末尾にある空白をすべて削除します。
31split(str="", num=string.count(str))区切り文字str(未指定時はスペース)で文字列を分割し、部分文字列のリストを返します。num指定時は最大num個に分割します。
32splitlines(num=string.count('\n'))文字列を改行位置で分割し、改行を取り除いた各行のリストを返します。
33startswith(str, beg=0, end=len(string))文字列(または指定範囲の部分文字列)がstrで始まるかどうかを判定し、真ならTrueを返します。
34strip([chars])lstrip()とrstrip()の両方を実行し、文字列の前後の空白を削除します。
35swapcase()文字列内のすべての英字について、大文字と小文字を反転させます。
36title()すべての単語の先頭を大文字、残りを小文字にした「タイトルケース」の文字列を返します。
37translate(table, deletechars="")変換テーブルに従って文字列を変換し、deletecharsに含まれる文字を削除します。
38upper()文字列内のすべての小文字を大文字に変換します。
39zfill(width)指定幅になるよう左側をゼロで埋めた文字列を返します。数値向けのメソッドで、符号は保持されます。
40isdecimal()Unicode文字列が10進数字のみで構成されている場合にTrueを返します。

よく使うメソッドの使用例

ここでは、実務で特によく使われるメソッドの具体例を紹介します。

split()で文字列を分割する

text = "apple,banana,cherry"
fruits = text.split(",")
print(fruits)  # ['apple', 'banana', 'cherry']

replace()で文字列を置換する

text = "Hello World"
print(text.replace("World", "Python"))  # Hello Python

strip()で余分な空白を除去する

text = "   Python   "
print(text.strip())  # Python

startswith() / endswith()で接頭辞・接尾辞を判定する

filename = "report.pdf"
print(filename.endswith(".pdf"))     # True
print(filename.startswith("report")) # True

まとめ

Pythonの文字列メソッドを使いこなすことで、テキスト処理を簡潔かつ効率的に記述できます。まずはlower()・strip()・split()・replace()・join()といった頻出メソッドから覚え、必要に応じて表を参照しながら徐々に使いこなせるようにしましょう。

  1. Pythonのダンダー(マジック)メソッドとは?__repr__や__add__の使い方を実例で解説

    Pythonには、オブジェクト指向プログラミングにおいて便利な「技」を可能にするマジックメソッド(ダンダーメソッド)が用意されています。これらのメソッドは、名前の前後に二重のアンダースコア(__)が付いているのが特徴です。特定の条件が満たされたときに自動的に呼び出されるインターセプター(割り込み処理)として機能します。 代表的なものとして、__repr__はオブジェクトの「公式な」文字列表現を返す組み込みメソッドであり、一方の__str__は「非公式な」(人間が読みやすい)文字列表現を返す組み込みメソッドです。 基本例:通常のクラス定義 まず、マジックメソッドを定義していないシンプルなクラスを

  2. Pythonの辞書メソッド一覧|使い方と機能をわかりやすく解説

    はじめに Pythonの辞書(dict)は、キーと値のペアでデータを管理できる非常に便利なデータ構造です。この記事では、辞書で直接使える辞書メソッドと、辞書の操作に役立つ組み込み関数を一覧表にまとめて紹介します。それぞれの機能を把握しておくと、日常的なコーディングの効率が大きく向上します。 辞書の主なメソッド一覧 以下は、Pythonの辞書オブジェクトで利用できる代表的なメソッドです。 No.メソッド名と説明 1dict.clear()辞書内のすべての要素(キーと値のペア)を削除します。 2dict.copy()辞書のコピー(浅いコピー)を作成して返します。 3dict.fromkeys(