【備忘録】文字列 組み込み関数・メソッド集【Python】【String】

Python

この記事の最終更新日: 2020年10月31日

文字列の生成

Str関数

Str関数は、文字列(String)型以外のデータ型から文字列を生成する関数です。

>>> print(str(5)) #int型の5を文字列の'5'に変換
'5'
>>>x: int = 100
>>>print(str(x) + 'a')
'100a'

以下、表示用のprint関数を省略します。

文字列の分割

splitメソッド

splitメソッドは、文字列をある特定の文字で分割するメソッドです。
引数で特定の文字を指定できます。
結果はリストで返します。

>>> 'ABCDABCD'.split('B') #文字列'ABCDABCD'をBで分割
['A', 'CDA', 'CD']
>>> 'A B C D'.split() #文字列'A B C D'をスペースで分割
['A', 'B', 'C', 'D']
>>> 'A,B,C,D'.split(',') #文字列'A B C D'をカンマ区切りで分割
['A', 'B', 'C', 'D']

文字列の長さを調べる

len関数

l文字列の長さを調べるには、len関数を使います。

>>> x: str = 'GoodBye' #変数xに文字列'GoodBye'を代入
>>>len(x) 
7

文字列の連結

+演算子

単純に文字列どうしを結合する場合は、+演算子を使います。

>>> 'AB' + 'C'
'ABC'
>>> str1: str = 'AAA'
>>> str2: str = 'BBB'
>>> str1 + str2
'AAABBB'

joinメソッド

リストの要素どうしを結合する場合は、joinメソッドを使います。
文字列のjoinメソッドの引数に、対象のリストを指定します。

>>> str1: str = 'AAA'
>>> str2: str = 'BBB'
>>> str3: str = 'CCC'
>>> str_list: list = [str1, str2, str3]
>>> str_list
['AAA', 'BBB', 'CCC']
>>> ''.join(str_list) #そのまま結合
'AAABBBCCC'
>>> ' '.join(str_list) #スペース区切りで結合
'AAA BBB CCC'
>>> ','.join(str_list) #カンマ区切りで結合
'AAA,BBB,CCC'

文字列の種類を調べる

isupperメソッド

文字列がすべて大文字か判定します。
結果はBoolean型でTrueかFalseで返ります。

>>> target: str = 'ENGLISH'
>>> target.isupper()
True
>>> target: str = 'english'
>>> target.isupper()
False
>>> target: str = 'English'
>>> target.isupper()
False

islowerメソッド

文字列がすべて小文字か判定します。
結果はBoolean型でTrueかFalseで返ります。

>>> target: str = 'ENGLISH'
>>> target.islower()
False
>>> target: str = 'english'
>>> target.islower()
True
>>> target: str = 'English'
>>> target.islower()
False

isalphaメソッド

文字列がすべてアルファベットか判定します。
結果はBoolean型でTrueかFalseで返ります。

>>> target: str = 'ENGLISH'
>>> target.isalpha()
True
>>> target: str = 'english'
>>> target.isalpha()
True
>>> target: str = '123English' #数字とアルファベット
>>> target.isalpha()
False

isdigitメソッド

文字列がすべて数字かどうかを判定します。
結果はBoolean型でTrueかFalseで返ります。

>>> target: str = '123' #数字のみ
>>> target.isdigit()
True
>>> target: str = 'english' #アルファベット
>>> target.isdigit()
False
>>> target: str = '123English' #数字とアルファベット
>>> target.isdigit()
False

isalnumメソッド

文字列がすべてアルファベットと数字で構成されているかどうかを判定します。
結果はBoolean型でTrueかFalseで返ります。

>>> target: str = '123English' #数字とアルファベット
>>> target.isalnum()
True
>>> target: str = '123_English' #'_'が含まれた文字列
>>> target.isalnum()
False

文字列の検索

findメソッド

文字列の中で、特定のパターンがあるかを左から検索するにはfindメソッドを使います。
パターンが見つかったらそのインデックスを返します。
見つからなかったら -1 が返ります。

>>> x: str = 'ABCDABCD' 
>>> x.find('BC')
1
>>> x: str = 'ABCDABCD' 
>>> x.find('DA')
3
>>> x: str = 'ABCDABCD' 
>>> x.find('A')
0
>>> x: str = 'ABCDABCD' 
>>> x.find('X')
-1

rfindメソッド

文字列の中で、特定のパターンがあるかを右から検索するにはfindメソッドを使います。
最初にパターンが見つかったインデックスを返します。
見つからなかったら -1 が返ります。

>>> x: str = 'ABCDABCD' 
>>> x.rfind('BC')
5
>>> x: str = 'ABCDABCD' 
>>> x.rfind('DA')
3
>>> x: str = 'ABCDABCD' 
>>> x.rfind('A')
4
>>> x: str = 'ABCDABCD' 
>>> x.rfind('X')
-1

countメソッド

文字列の中に、特定の文字列が何個あるか数えるにはcountメソッドを使います。

>>> x: str = 'ABCDABCD' 
>>> x.count('BC')
2

文字列の置換

replaceメソッド

文字列内の指定した文字列を別の文字列に変更するには、replaceメソッドを使います。
第一引数は置換される文字列、
第二引数は置換する文字列を指定します。

>>> x: str = 'GoodNight!' 
>>> x.replace('Night', 'Evening')
GoodEvening!

Pythonの学習にオススメの参考書籍↓

コメント

タイトルとURLをコピーしました