Pythonでの文字列の操作

注意の一覧

基本操作

# 文字列の生成
a = "123"
b = '456'
c = """長文はトリプルクォート”””

# 数値からの変換
num = 789
d = str(num)

# 文字の連結
s = a + b
s    # 結果 ’123456’

# 文字の抽出
s[0]    # 結果 '1'

# 文字のスライス
s[1:4]    # 結果 '234'

文字の分割--split()

  • 'str.split(区切り文字, maxsplit = 回数)'で区切る
  • 文字列を分割したらリストになる
s = "This is a pen."
s.split()    # 結果    ['This', 'is', 'a', 'pen.']
s.split(maxsplit= 2)    # 結果    ['This', 'is', 'a pen.']

分割した文字列の結合-- join()

  • ”連結文字”.join(リスト)でリストを結合して文字列
s = "This is a pen."
"-".join(s)    # 結果(注意!!)    't-h-i-s- -i-s- -a- -p-e-n-.' 

t = s.split()
"-".join(t)   # 結果 'This-is-a-pen.'

文字列の置換-- replace()

  • str.replace(旧, 新, [, 回数])で文字列を置換する
  • 値を変更するわけではない
s = "This is a pen."

# "pen"を"book"に置換
s.replace("pen", "book")    # 結果 "This is a book."

s    # 結果 "This is a pen."    # sの値が変わったわけではない

書式化して埋め込む-- format()

  • 文字列を名前付きで埋め込む
man = 10
woman =10
room = "男が{0}人、女が{1}人".format(man , woman )

#文字列を名前付きで埋め込む
print("部屋に男は{man}人いる。").format(man = 10)

fmt = "部屋に男は{man}人、女が{woman}人いる。"
s = fmt.format(man = 10, woman = 10)

大文字・小文字-- upper(), lower()

  • 大文字はstr.upper()
  • 小文字はstr.lower()
s = "This is a pen."
s.upper()    # 結果 'THIS IS A PEN.'
s.lower()    # 結果 "this is a pen."

文字列の検索-- find()

  • str.find(検索文字列, [, 開始位置 [, 終了位置]])で検索する。ない場合は-1を返す
s = "This is a pen."
s.find('i')     # 結果 2 --indexが2(3文字目にiがある)
s.find('i', 3)     # 結果 5 -- indexが2(6文字目にiがある)