6
15

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 3 years have passed since last update.

Pythonの文字列操作をまとめてみた

Last updated at Posted at 2019-11-10

はじめに

Pythonでコーディングをしていて、文字列を操作する際に使えそうな組み込み型メソッドがあったので、自身の備忘録としてまとめてみました。
系統の分け方については個人の感覚で系統立てておりますので、あしからず。

#整形系

formatメソッド

文字列中の値をindexを用いて後述することが可能
変数と合わせて使うと文字列を編集することが楽になる

print("This test is {0} for {1}.".format("easy", "you"))
# This test is easy for you.
変数を用いた場合
hoge = "easy"
fuga = "you"
print("This test is {0} for {1}.".format(hoge, fuga)) 
# This test is easy for you.

joinメソッド

引数の間にメソッドの前の値を加えていく
引数から始まる点と引数の最後の文字以降には加えられない

upper_hoge = "ABC"
lower_hoge = "abc"
print(lower_hoge.join(upper_hoge)) # AabcBabcC

replaceメソッド

文字列中の文字を置換する
1番目の引数が置換前の文字
2番目の引数が置換後の文字
3番目に引数を与えた場合は、置換する文字の数を指定することができる

2番目の引数にブランクを設定することで、対象の文字を削除することができる

hoge = "ababab"
print(hoge.replace('a', 'A'))  # AbAbAb
print(hoge.replace('a', 'A', 1))  # Ababab
print(hoge.replace('a', 'A', 2))  # AbAbab
print(hoge.replace('a', '')) # bbb

stripメソッド

先頭と末尾から対象の文字列を除去する
引数に含まれる文字列は順序関係なく、その集合が合致すれば処理される
引数がない場合は文字列を除去する

hoge = "    A testAtestAtest A     "
# 先頭と末尾のブランクが除去される
print(hoge.strip())  # A testAtestAtest A
# 先頭と末尾がブランクのためAが除去されない
print(hoge.strip('A'))  #    A testAtestAtest A     

fuga = "A testAtestAtest A"
# 先頭と末尾のAが除去される
print(fuga.strip('A'))  #  testAtestAtest 
# 先頭と末尾から見ていき、引数の'A','t',' 'のいずれにも該当しないところまでが除去される
print(fuga.strip(("At "))) # estAtestAtes

lstripメソッド

末尾から対象の文字列を除去する
引数に含まれる文字列は順序関係なく、その集合が合致すれば処理される
引数がない場合はブランクを除去する

hoge = "    A testAtestAtest A     "
# 先頭のブランクのみが除去される
print(hoge.lstrip())  # A testAtestAtest A
# 先頭がブランクのため、引数のAまでたどり着かないので何も除去されない
print(hoge.lstrip('A'))  #     A testAtestAtest A

fuga = "A testAtestAtest A"
# 先頭のAのみが除去される
print(fuga.lstrip('A'))  #  testAtestAtest A
# 先頭から見ていき、引数の'A','t',' 'のいずれにも該当しないところまでが除去される
print(fuga.lstrip(("At ")))  # estAtestAtest A

rstripメソッド

末尾から対象の文字列を除去する
引数に含まれる文字列は順序関係なく、その集合が合致すれば処理される
引数がない場合はブランクを除去する

hoge = "    A testAtestAtest A     "
# 末尾のブランクのみが除去される
print(hoge.rstrip())  #     A testAtestAtest A
# 末尾がブランクのため、引数のAまでたどり着かないので何も除去されない
print(hoge.rstrip('A'))  #     A testAtestAtest A     

fuga = "A testAtestAtest A"
# 末尾のAのみが除去される
print(fuga.rstrip('A'))  # A testAtestAtest 
# 末尾から見ていき、引数の'A','t',' 'のいずれにも該当しないところまでが除去される
print(fuga.strip(("At "))) # A testAtestAtes

#検索系

findメソッド

先頭から数えて、どこに該当する文字が存在するかを返す
該当する文字が存在しない場合は「−1」を出力する
引数に検索開始位置と終了位置を渡すことも可能
(終了位置の値はの一つ前までのindexが検索対象になるので注意!)

hoge = "test"
print(hoge.find('t'))  # 0
print(hoge.find('a'))  # −1
print(hoge.find('t', 1, 4))  # 3
print(hoge.find('t', 1, 2))  # -1

countメソッド

リスト中のある文字の数を出力する

#今回はtの数を出力させる
hoge = "test"
print(hoge.count('t'))  # 2

分割系

splitメソッド

引数の文字で文字列を分解し、リストに格納する
2番目の引数はsplitする回数

hoge = "a b c d e f g"
print(hoge.split(' '))  # ['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(hoge.split(' ', 0))  # ['a b c d e f g']
print(hoge.split(' ', 1))  # ['a', 'b c d e f g']
print(hoge.split(' ', 4))  # ['a', 'b', 'c', 'd', 'e f g']

rsplitメソッド

splitメソッド同様文字列を分解するが、splitする際は右側からsplitされる
2番目の引数はsplitする回数

hoge = "a b c d e f g"
print(hoge.rsplit(' '))  # ['a', 'b', 'c', 'd', 'e', 'f', 'g']
print(hoge.rsplit(' ', 0))  # ['a b c d e f g']
print(hoge.rsplit(' ', 1))  # ['a b c d e f', 'g']
print(hoge.rsplit(' ', 4))  # ['a b c', 'd', 'e', 'f', 'g']

#判別系

startswithメソッド

文字列の始まりを判別するメソッド
引数で始まっている場合はtrue、そうでない場合はfalseを返す

hoge = "test"
print(hoge.startswith('te'))  # True
print(hoge.startswith('tt'))  # False

endswithメソッド

文字列の終わりを判別するメソッド
引数で終わっている場合はtrue、そうでない場合はfalseを返す

hoge = "test"
print(hoge.endswith('st'))  # True
print(hoge.endswith('tt'))  # False

大文字・小文字の変換系

upperメソッド

文字列を大文字に変換する

lower_hoge = "abc"
print(lower_hoge.upper())  # ABC

lowerメソッド

文字列を小文字に変換する

upper_hoge = "ABC"
print(upper_hoge.lower())  # abc

swapcaseメソッド

大文字と小文字を入れ替える

hoge = "AbcDefG"
print(hoge.swapcase())  # aBCdEFg

capitalizeメソッド

先頭の文字を大文字化する

hoge = "test"
print(hoge.capitalize())  # Test

参考

・Python 3.7.5 ドキュメント
https://docs.python.org/ja/3.7/library/stdtypes.html#string-methods

6
15
1

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
6
15

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?