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

関連ページ