4
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Python 文字列メソッド

Last updated at Posted at 2019-08-04

はじめに

Pythonの文字列で利用できるメソッドのまとめメモ。
新しく学べば随時アップデートしていきます。

検索系メソッド

find()メソッド

文字列の先頭から検索したい文字列を探し、最初に見つかった位置(0から始まるインデックス)を返す。
見つからなかった場合は−1を返す
開始インデックス/終了インデックスは、指定しなければ文字列の先頭/末尾になる。

使い方
# 文字列sからある文字列を検索する。
s.find(検索したい文字列,開始インデックス,終了インデックス)
s = 'This is a string.'

# 文字列先頭から末尾までで'string'を検索
print(s.find('string'))       # =>10

# 文字列’is a’から'string'を検索
print(s.find('string', 5, 8)) # =>-1

rfind()メソッド

findメソッドとは逆に、文字列の末尾から検索を行う。
使い方はfindメソッドと同様。

使い方
# 文字列sからある文字列を検索する。
s.rfind(検索したい文字列,開始インデックス,終了インデックス)
s = 'This is a string.That is a string.'

# 文字列末尾から先頭までで'string'を検索
print(s.rfind('string'))       # =>27

index()メソッド

find()と同様の動作するが、見つからなかった場合「ValueError」という例外が発生する。

使い方
# 文字列sからある文字列を検索する。
s.index(検索したい文字列,開始インデックス,終了インデックス)
s = 'This is a string.'
w = 'This is a word.'

# 文字列sの末尾から先頭までで'string'を検索
print(s.index('string'))  # =>10
# 文字列wの末尾から先頭までで'string'を検索
print(w.index('string'))  # =>ValueError: substring not found

rindex()メソッド

find()に対するrfind()と同様、indexに対するrindex()。
文字列の末尾から検索を行い、見つからなかった場合「ValueError」という例外が発生する。
使い方はindexメソッドと同様なので省略。

endswith()メソッド

文字列が検索したい文字列で終わっている時Trueを返す。そうでない場合、Falthを返す。
開始インデックス/終了インデックスは、指定しなければ文字列の先頭/末尾になる。

使い方
# 文字列sがある文字列で終わっているか調べる。
s.endswith(検索したい文字列,開始インデックス,終了インデックス)
s = 'apple'

# 文字列sが'e'で終わっているか調べる。
print(s.endswith('e'))  # =>True
# 文字列sが'a'で終わっているか調べる。
print(s.endswith('a'))  # =>Falth

startswith()メソッド

文字列が検索したい文字列で始まっている時Trueを返す。そうでない場合、Falthを返す。
開始インデックス/終了インデックスは、指定しなければ文字列の先頭/末尾になる。

使い方
# 文字列sがある文字列で始まっているか調べる。
s.startswith(検索したい文字列,開始インデックス,終了インデックス)
s = 'apple'

# 文字列sが'a'で始まっているか調べる。
print(s.startswith('e'))  # =>True
# 文字列sが'e'で始まっているか調べる。
print(s.startswith('a'))  # =>Falth

文字列の分割・連結

split()メソッド

文字列を「区切り文字」で区切り、文字列のリストを作って返す。
区切り文字を指定しない場合、スペース・改行等の空白文字が区切り文字となる。

使い方
# 文字列sを「区切り文字」で区切る。
s.split(区切り文字)
例1
fruits = 'apple,banana,peach'

# 文字列fruitsを','で区切り、リストを作成。
print(fruits.split(','))  # =>['apple', 'banana', 'peach']
例2
fruits = 'apple banana peach'
# 文字列fruitsをスペースで区切り、リストを作成。
print(fruits.split())  # =>['apple', 'banana', 'peach']
例3
fruits = '''
apple
banana
peach
'''
# 文字列fruitsを改行で区切り、リストを作成。
print(fruits.split())  # =>['apple', 'banana', 'peach']

join()メソッド

シーケンス中の要素を連結した文字列を返す。

使い方
# シーケンスを文字列sで分割し連結した文字列を返す。
s.join(シーケンス)
fruits = ['apple', 'banana', 'peach']
# リストfruitsの要素を結合する(区切り文字なし)
print(''.join(fruits)) # =>applebananapeach
# リストfruitsの要素を結合する(区切り文字カンマ)
print(','.join(fruits)) # =>apple,banana,peach

文字列の書き換え

strip()メソッド

文字列の先頭および末尾から文字列を削除し、削除した文字列を返す。
「削除する文字列」を指定しない場合、スペース・タブ等の空白文字を削除する。

使い方
# 文字列sの先頭および末尾から文字列を削除する。
s.strip(削除する文字列)
例1
# 文字列fruitsの先頭および末尾から1を削除する。
fruits = '1apple1'
print(fruits.strip('1')) # => apple

複数の文字も削除可能。

例2
# 文字列fruitsの先頭および末尾から1を削除する。
fruits = '11111apple11111'
print(fruits.strip('1')) # => apple

ただし、「削除する文字列」に含まれている文字なら削除してしまうことが注意。

例3
# 文字列fruitsの先頭および末尾からpineを削除する。
# この場合、'p','i','n''e'が削除対象となる。
fruits = 'pineapple'
print(fruits.strip('pine')) # => appl 

upper()メソッド

文字列の英字小文字を英字大文字に変換し、その結果を返す。

使い方
# 文字列sの小文字を大文字に変換する。
s.upper()
# 文字列fruitsの英字小文字を大文字にする。
fruits = 'Apple'
print(fruits.upper())   # => APPLE

lower()メソッド

文字列の英字大文字を英字小文字に変換し、その結果を返す。

使い方
# 文字列sの大文字を子文字に変換する。
s.lower()
# 文字列fruitsの英字大文字を小文字にする。
fruits = 'Apple'
print(fruits.upper())   # => apple

ljust()メソッド

文字列を幅を考慮して左寄せした結果を返す。文字列の幅が指定した値に満たない場合、指定した文字で埋める(埋め草文字)。埋め草文字を指定しない場合、スペースで埋める。
右寄せを行う場合はrjust(),中央寄せを行う場合はcenter()メソッドがある。

使い方
# 文字列sの幅を考慮して左寄せする。
s.ljust(, 埋め草文字)
# 埋め草文字-として文字列fruitsの幅を7にする
fruits = 'apple'
print(fruits.ljust(7,'-')) #=> apple--

参考資料

Python3.7.4公式ドキュメント

4
12
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
12

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?