Python_文字列操作
文字の参照
文字の取得
str = "capm network"
# 文字の取得
chr = str[0] # c
chr = str[3] # m
chr = str[-1] # k
開始文字と終了文字の判定
str = "capm network"
b = str.startswith('c') # True
b = str.startswith('a') # False
b = str.endswith('k') # True
b = str.endswith('r') # False
文字列の検索
str = "capm network"
length = len(str) # 12
count = str.count('e') # 1
index = str.find('net') # 5
index = str.find('not') # -1
文字列の編集
結合
str = 'aaa' + 'bbb' # 'aaabbb'
str = ','.join(['aaa', 'bbb', 'ccc']) # 'aaa,bbb,ccc'
str = 'aaa' * 3 # 'aaaaaaaaa'
分割
array = 'aaa bbb ccc'.split() # ['aaa', 'bbb', 'ccc']
array = 'aaa,bbb,ccc'.split(',') # ['aaa', 'bbb', 'ccc']
切り出し
[start:stop]の形で指定して切り出します。
str = '0123456789'[:3] # '012'
str = '0123456789'[3:6] # '345'
str = '0123456789'[6:] # '6789'
一括変換
str = "capm NETWORK"
after = str.title() # Capm Network
after = str.lower() # capm network
after = str.upper() # CAPM NETWORK
左寄せ、右寄せ、中寄せ
str = "abcdef".ljust(10," ") # 'abcdef '
str = "abcdef".rjust(10," ") # ' abcdef'
str = "abcdef".center(10," ") # ' abcdef '
文字列の削除
split()
区切り文字(delimiter)を区切りとして、文字列を分割しリストを返します。
区切り文字を指定しないときは、空白文字で区切ります。
"1, 2, 3".split(",") # ['1', ' 2', ' 3']
"1, 2, 3".split() # ['1,', '2,', '3']
"1 2 3".split() # ['1', '2', '3']
"1 2 3".split(" ") # ['1', '', '2', '', '3']
"1, 2, 3".replace(",", " ").split() # ['1', '2', '3']
strip()
文字列の両端から指定文字をはぎとり、指定文字以外の文字になるまで消し続けます。
文字を指定しない場合は、空白文字(半角スペース、全角スペース、改行、改ページ、タブ、垂直タブ、復帰)を削除します。
str = " Capm Network "
str.strip() # "Capm Network"
str.strip(" Ckar") # "pm Netwo"
translate()
変換する文字列を辞書定義しておき、maketrans()を実行します。その後定義を用いることで文字列を一括変換することができます。
table = str.maketrans({
'a': 'd',
'b': 'f',
'c': 'e',
})
text = "abcdefg"
result = text.translate(table)
print(result) # dfedefg
正規表現
reライブラリを用います。
import re