python文字列操作まとめ

pythonLOGO

文字列の連結と分割

'I' + ' study' + ' Python' + ' everyday' 

# 'I study Python everyday'
# 文字列の分割は、split関数を利用する。
# 分割文字を指定しなかった場合は、デフォルトで空白による分割が行われます。
s1 = 'I study Python everyday'
s1.split() 

# ['I', 'study', 'Python', 'everyday']
# split関数は引数に分割文字を指定した場合。
s2 = 'apple,orange,grape'
s2.split(",")  

# ['apple', 'orange', 'grape']
# join関数を利用すると、リスト内の要素を全て連結し、一つの文字列とする。
s3 = ["2019", "12", "24"]
"/".join(s3)

# 2019/12/24

文字列の切り出し・スライス

s1 = 'I study Python'

s1[0]
# 'I'

s1[1]
# ' '

s1[5]
# 'd'

# [start : end]を利用すると、インデックスの範囲を指定して文字列を取り出す。
s1[2:7]
# 'study'

# s[:7]やs[8:]のようにコロンの後の数値は省略することも可能

s1[:7]
# 'I study'

s1[8:]
# "Python'

文字列の置換

# 文字列.replace(置換前の文字列, 置換後の文字列, 置換回数)

s1='I study Python everyday'
s1.replace('everyday', 'everyweek')
# 'I study Python everyweek'
# 置換回数の2は左から順にその回数分だけ置換され、指定しなければ全ての空白が置換される。
s1='I study Python everyday' 
s1.replace(' ','', 2) # 空白を左から2回消去する

# 'IstudyPython everyday'

文字列の削除

# 文字列.strip(削除したい文字の集合)
# ※両端から削除したい文字を削除する(文字列中の文字は削除しない)

s1='abc456opq123'
s1.strip('123abc')
# '456opq'

# 右端のみの文字列削除であればrstrip関数
s1='abc456opq123'
s1.rstrip('123abc') 
# 'abc456opq'

# 左端のみの文字列削除であればlstrip関数
s1='abc456opq123'
s1.lstrip('123abc')
# '456opq123'

文字列の検索

# 検索したい文字列 in 文字列
# 文字列.find(検索したい文字列)
s1 = 'abcde'
'c' in s1
# True

# find関数は、ある特定の文字列が含まれていれば、
# その文字列の左から数えて最初の文字のインデックスを、
# なければ-1という値を返す
s1 = 'abcde'
s1.find('c')
# 2

# 文字列.count(検索したい文字列)
# count関数では、文字列中にある特定の文字列が何個登場しているかを全てカウントする。
s2 = 'abcdeabcdeabcde'
s2.count('c')
# 3

その他文字列操作

# 文字列の長さを確認したい場合、len関数
# len(文字列)
# 空白や記号も1つの文字としてカウントがされるので注意
s1 = 'abcde'
len(s1)
# 5
# 注目する文字列が数字だけを含むか否かを調べたい場合は、isdecimal関数
# 文字列.isdecimal()
s2 = 'ab12345c'
s2.isdecimal()
# False


 

あ、宜しければ・・・。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です