文字列の削除 split(), strip(), replace(), translate(), re.sub()
pythonでの文字列の削除の方法
○split()
区切り文字(delimiter)を区切りとして、文字列を分割しリストを返す。
maxsplit=1のように、オプションで最大分割回数を指定できる。
区切り文字を指定しないときは、空白文字で区切る。
その際、連続した空白文字はひとまとまりとして削除される。
"1, 2, 3".split(",") #['1', ' 2', ' 3'] カンマ指定でスペースが残る "1, 2, 3".split() #['1,', '2,', '3'] スペース指定でカンマが残る "1 2 3".split() #['1', '2', '3'] 連続したスペースを1つとして削除 "1, 2, 3".replace(",", " ").split() #['1', '2', '3'] "1 2 3".split(" ") #['1', '', '2', '', '3'] スペース指定はスペースの2文字目が残る。 "1>.2.3.>".split(">."))#['1', '2.3.>'] 複数指定はセット扱い。
○strip()
文字列の両端から指定文字をはぎとる。
指定文字以外の文字になるまで消し続ける。
文字を指定しない場合は、「空白文字」を削除。
「空白文字」とは:
半角スペース、全角スペース、改行、改ページ、タブ、垂直タブ、復帰
'www.example.com'.strip('cmowz.') #'example'
○replace()
本来は文字列の置換だが、置換後の文字列をempty stringに指定すると削除。
"1,2,3".replace(",", "") #'123' "<1>".replace("<", "").replace(">", "") #1 何回でもreplaceを連結できる
○translate()
第1引数と第2引数は同じ文字数で置換前と置換後の文字の1文字ずつの対応。
日本語も対応。
dic =str.maketrans("", "", "bd") #第3引数が消去する文字の一覧 "abcd".translate(dic) #"ac" sdic ={ord("a"):ord("x")} #maketransせずに辞書を準備できる。 "abcd".translate(sdic) #xbcd