【Python基礎】strip、lstrip、rstrip:末端の文字を削除

  • URLをコピーしました!
目次

strip、lstrip、rstrip

前回、Pythonで文字列を置換するreplace関数を勉強しました。

今回は文字列の末端から指定の文字を削除するstrip、lstrip、rstripを勉強していきます。

とはいいつつもstripやlstrip、rstripも既に使っていますが、再度基礎から勉強してみましょう。

それでは始めていきましょう。

strip関数の基礎

まずはstrip関数の基礎からです。

strip関数は「文字列.strip(‘末端の削除する文字列’)」です。

test1 = 'abcabcabc'

print(test1.strip('c'))

実行結果
abcabcab

一番最後の「c」が削除されました。

末端に一致する文字列がない場合は削除されません。

test1 = 'abcabcabc'

print(test1.strip('b'))

実行結果
abcabcabc

文字一つだけでなく、文字列としても削除することができます。

test1 = 'abcabcabc'

print(test1.strip('bc'))

実行結果
abcabca

最後の「bc」が削除されました。

ちなみに私は完全に勘違いしていたことですが、strip関数(次のlstrip関数やrstrip関数を含め)は末端の1回を削除するわけではありません。

もし1回削った後、さらに指定した文字列がある場合はさらに削除されます。

つまり末端に指定した文字が繰り返されている場合は、その指定した文字が無くなるまで削除されます。

test2 = 'aaabbbccc'

print(test2.strip('c'))

実行結果
aaabbb

この場合最後に「ccc」がありましたが、指定した文字が「c」だったため、末端の「c」は全て削除されています。

lstrip関数とrstrip関数の基礎

lstrip関数は左の末端の文字を、rstrip関数は右の末端の文字を削除します。

使い方はstrip関数と同様に「文字列.lstrip(‘左の末端の削除する文字列’)」、「文字列.rstrip(‘右の末端の削除する文字列’)」です。

test1 = 'abcabcabc'

print(test1.lstrip('a'))

実行結果
bcabcabc
test1 = 'abcabcabc'

print(test1.rstrip('c'))

実行結果
abcabcab

strip関数とrstrip関数の違い

ここで何となく思ったのは、strip関数とrstrip関数が同じじゃないかということ。

でも違う関数として存在しているからには何か違いがあるんじゃないかと思い、色々と試してみました。

まずはとりあずstrip関数とrstrip関数の比較から。

test1 = 'abcabcabc'

print(test1.strip('c'))
print(test1.rstrip('c'))

実行結果
abcabcab
abcabcab

やはり同じ形になります。

それでは削除される側の文字列を変えてみましょう。

test2 = 'aaabbbccc'

print(test2.strip('c'))
print(test2.rstrip('c'))

実行結果
aaabbb
aaabbb

末端が同じ文字で連続しているかしていないかが影響するかと思ったのですが、どうやら違ったようです。

再度、削除される側の文字列を変えてみます。

test3 = 'aaabbbaaa'

print(test3.strip('a'))
print(test3.rstrip('a'))

実行結果
bbb
aaabbb

ここで差が出ました。

strip関数では左右両方の「a」を除かれており、rstrip関数では右側の「a」のみ除かれています。

つまり「strip関数は左右両端で指定した文字列を削除する関数」であり、「rstrip関数は右側だけで指定した文字列を削除する」というわけです。

実はこの strip関数は文字列の左右両端で指定した文字列を削除するという関数であることをこの記事を書くまで知りませんでした。

むしろrstrip関数のように文字列の右側で削除する関数だと思っていました。

このようにある程度勉強してから、再度基礎を勉強し直すことで、意外と知らなかったことが目に入るようになるのだなぁと思った一件でした。

次回はPandasでデータフレーム内の1つのデータを他のデータフレームにコピーするということをやってみます。

ではでは今回はこんな感じで。

よかったらシェアしてね!
  • URLをコピーしました!

コメント

コメントする

目次