ロゴ

プログラミング初心者がアプリ開発を目指すブログ

【Python入門】Python 文字列の更新方法 – Python初心者勉強記015

今回は文字列の更新の仕方を見ていきましょう。
Pythonの文字列は変更不可能なオブジェクトなので実際には内容を更新したように見えるだけで、新しく文字列を作成して、そのコピーを返しています。
Pythonはこのようにして見た目上、文字列を更新しています。それでは、実際の操作を見てみましょう。

文字列の分割

splitメソッドとrsplitメソッドは指定の文字列で文字列を分割して、分割された文字列を要素にもつリストを返します。rsplitは右側から分割を行います。
.split(区切り文字,分割数)
.rsplit(区切り文字,分割数)

split()とした場合は、最初に空白文字列が文字列の両端から除去され、次に空白文字を区切り文字とみなして分割が行われます。その際、区切り文字がどんなに連続していても、1つの区切り文字として処理されるため、空文字列が要素に追加されることはありません。


>>> 'abcba'.split('b')
['a', 'c', 'a']
>>> 'abcba'.split('b',1) #分割数 1回
['a', 'cba']
>>> 'abcba'.rsplit('b',1)  #右側から分割数 1回
['abc', 'a']
>>> ' ab c ba '.rsplit(' ')
['', 'ab', 'c', 'ba', '']
>>> ' ab c ba '.split()
['ab', 'c', 'ba']

改行文字で分割

splitlinesメソッドは、文字列を改行文字で分割して、各行からなるリストを返します。
このとき引数にTrueを指定するとリスト要素に改行が含まれるようになります。
.splitlines(改行文字の有無)


>>> 'ab\ncd'.splitlines()
['ab', 'cd']
>>> 'ab\ncd'.splitlines(True)
['ab\n', 'cd']

文字列内の指定した文字列を置換する

replaceメソッドは、文字列内の指定した文字列を置換して、そのコピーを返します。置換回数を指定すると、置換の回数を制限できます。


>> 'abcd'.replace('bc','BC')
'aBCd'
>>> 'a b c d'.replace(' ','+')
'a+b+c+d'
>>> 'a b c d'.replace(' ','+',2)
'a+b+c d'

変換テーブルを指定して文字列を置換

translateメソッドを使うことで、変換テーブルを使用して文字列を置換することができます。stringモジュールのmaketransメソッドを使用して変換テーブルを作成した後、translateメソッドを使って文字列の変換を行います。
string.maketrans(変換元文字列, 削除文字列)
.translate(変換テーブル, 削除文字列)


>>> import string
>>> table = string.maketrans('abc', 'ABC')
>>> 'abcdef'.translate(table)
'ABCdef'
>>> 'abcdef'.translate(table,'cd')
'ABef'

大文字・小文字を変換する

lower,upper,capitalize,titleメソッドを使用することで、文字の大文字・小文字を変換することができます。
.lower() #小文字に変換
.upper()  #大文字に変換
.capitalize() #先頭だけ大文字に変換
.title() #単語の先頭だけ大文字に変換

左寄せ・中央寄せ・右寄せに変換する

ljust,center,rjustメソッドは指定した文字数になるように空白文字を挿入して、幅寄せした文字列を作成します。
なお、元の文字列が指定した長さより長い場合は、元の文字列をそのまま返します。またオプションの幅寄せ文字を指定すると空白文字の代わりにその文字を使用して幅寄せを行います。
.ljust(文字列の長さ, 幅寄せ文字)
.center(文字列の長さ, 幅寄せ文字)
.rjust(文字列の長さ, 幅寄せ文字)

0字詰め文字列にする

zfillメソッドは指定した文字列になるように左側を0で埋めた文字列を作成します。指定した文字数より元の文字列の方が長い場合は、元の文字列をそのまま返します。


>>> '12'.zfill(5)
'00012'
>>> '12345'.zfill(5)
'12345'
>>> '12345'.zfill(3)
'12345'

Python入門講座の次の記事はこちら => 【Python入門】Python ユニコード文字列と変換方法について – Python初心者勉強記016

スポンサード リンク

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA