この記事の最終更新日: 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の学習にオススメの参考書籍↓
大阪のエンジニアが書いているブログ。
コメント