【Python】rstrip()で末尾の不要な文字列を削除する!
Pythonのrstrip()を使用すると末尾の不要な文字列を削除することができます。
rstrip()とは文字列の末尾から不要な文字を削除するメソッドであり、指定した文字列を削除した状態の文字列で取得することができます。
そして、削除する文字列はパラメータで決まり、パラメータ無しで使用すると空白を自動的に削除し、削除したい文字を指定すると指定した文字列を削除するようになります。
しかし、末尾の文字を含まない文字列を指定しても削除することはできなかったり、末尾の文字を含んだ文字列を指定しても連結していなければ末尾の文字しか削除されないという注意すべき点がありますので、rstrip()を使用する際には一度確認しておきましょう。
今回はPythonのrstrip()で末尾の不要な文字列を削除する方法について以下の内容で解説していきます。
⚫︎ rstrip()の使用する際の注意点
⚫︎ 末尾の空白を削除する場合
⚫︎ 末尾の不要な文字列を削除する場合
⚫︎ 末尾の不要な文字列を複数指定して削除する場合
目次
rstrip()とは
rstrip()とは、文字列の末尾から不要な文字を削除するメソッドとなります。
rstrip()の書き方
srtip()の書き方は下記となります。
1 |
文字列.rstrip('削除したい文字']) |
rstrip()のパラメータ
⚫︎ 削除したい文字:
削除したい文字を指定する
rstrip()に削除したい文字を指定することで、文字列内にある指定した文字を削除した状態の文字列を返します。
また、パラメータを使用しないでrstrip()を使用すると、タプや改行、空白などを自動的に削除した状態の文字列を返すようになります。
rstrip()の使用する際の注意点
先ほども説明しましたがrstrip()は、末尾の不要な文字列を削除するメソッドになります。
その為、以下のような注意すべき点があります。
⚫︎ 末尾の文字を含まない文字列を指定しても削除することはできない:
rstrip()で末尾の文字列を削除できるのは末尾を含む文字のみとなるので末尾の一つ手前にある文字列を指定しても削除することはできません。
例えば、「123445678」という文字列から「678」は削除できますが、「67」のような末尾の文字列を含まない文字列は削除できません。
例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
text1 = '12345678' print('削除対象の文字列: ', text1) text1_rstrip = text1.rstrip('678') print('rstrip()使用後: ', text1_rstrip) text2_rstrip = text1.rstrip('876') print('rstrip()使用後: ', text2_rstrip) text3_rstrip = text1.rstrip('87') print('rstrip()使用後: ', text3_rstrip) text5_rstrip = text1.rstrip('67') print('rstrip()使用後: ', text5_rstrip) |
出力結果
削除対象の文字列: 12345678
rstrip()使用後: 12345
rstrip()使用後: 12345
rstrip()使用後: 123456
rstrip()使用後: 12345678
「678」や「876」、「87」を指定した場合は指定した文字列を削除できますが、「67」を指定した場合は削除することができません。
⚫︎ 末尾の文字を含んだ文字列を指定しても連結していなければ末尾の文字しか削除されない:
末尾の文字を含んだ文字列を指定しても末尾に連結していなければ末尾の文字のみ削除され、指定した文字全てを削除することはできません。
例えば、「123445678」という文字列から「87」という文字列を指定すると「8」と「7」は削除されますが、「68」のような連結していない文字列を指定すると「6」は削除されず、「8」のみ削除されます。
例
1 2 3 4 5 6 7 8 9 10 11 |
text1 = '12345678' print('削除対象の文字列: ', text1) text1_rstrip = text1.rstrip('78') print('rstrip()使用後: ', text1_rstrip) text2_rstrip = text1.rstrip('86') print('rstrip()使用後: ', text2_rstrip) text3_rstrip = text1.rstrip('85') print('rstrip()使用後: ', text3_rstrip) |
出力結果
削除対象の文字列: 12345678
rstrip()使用後: 123456
rstrip()使用後: 1234567
rstrip()使用後: 1234567
「78」を指定した場合は指定した文字列を削除できますが、「86」や「85」を指定した場合は指定した文字列は全て削除されず「8」のみ削除されます。
末尾の不要な文字列を削除するサンプルコード
rstrip()で末尾の不要な文字列を削除するサンプルコードを紹介します。
末尾の空白を削除する場合
rstrip()で末尾の空白を削除するには、rstrip()をパラメータ無しで使用します。
例
1 2 3 4 5 6 7 8 9 10 11 12 |
print('・rstrip()で末尾の不要な文字列を削除') text1 = ' ここの文字列の末尾にある空白を削除。 ' print('削除対象の文字列: ', text1) text1_rstrip = text1.rstrip() print('rstrip()使用後: ', text1_rstrip) text2 = '\tここの文字列の末尾にある水平タブを削除。\t' print('削除対象の文字列: ', text2) text2_rstrip = text2.rstrip() print('rstrip()使用後: ', text2_rstrip) |
出力結果
・rstrip()で末尾の不要な文字列を削除
削除対象の文字列: ここの文字列の末尾にある空白を削除。
rstrip()使用後: ここの文字列の末尾にある空白を削除。
削除対象の文字列: ここの文字列の末尾にある水平タブを削除。
rstrip()使用後: ここの文字列の末尾にある水平タブを削除。
rstrip()によって末尾の空白や水平タブを削除した文字列を取得しています。
末尾の不要な文字列を削除する場合
末尾の不要な文字列を削除するにはrstrip()のパラメータに削除したい文字を指定します。
例
1 2 3 4 5 6 |
print('・rstrip()で末尾の不要な文字列を削除') text1 = 'rstrip()でこの文字列の末尾を削除' print('削除対象の文字列: ', text1) text1_rstrip = text1.rstrip('削除') print('rstrip()使用後: ', text1_rstrip) |
出力結果
・rstrip()で末尾の不要な文字列を削除
削除対象の文字列: rstrip()でこの文字列の末尾を削除
rstrip()使用後: rstrip()でこの文字列の末尾を
rstrip()で末尾の不要な文字列を削除しています。
その為、「削除」という文字が削除され、「rstrip()でこの文字列の末尾を」という文字列が表示されます。
末尾の不要な文字列を複数指定して削除する場合
指定した複数の文字列を削除する場合は、rstrip()のパラメータの削除したい文字に空白を開けて「’削除文字1 削除文字2’」のように指定します。
例えば、「abcdefg」という文字列の末尾を削除したい場合に、「’fg de’」と指定すると「defg」が削除されるようになります。
例
1 2 3 4 5 6 |
print('・rstrip()で末尾の文字列を複数指定して削除') text1 = 'rstrip()でこの文字列の末尾にある文字を削除' print('削除対象の文字列: ', text1) text1_rstrip = text1.rstrip('削除 文字を') print('rstrip()使用後: ', text1_rstrip) |
出力結果
・rstrip()で末尾の文字列を複数指定して削除
削除対象の文字列: rstrip()でこの文字列の末尾にある文字を削除
rstrip()使用後: rstrip()でこの文字列の末尾にある
rstrip()で末尾の不要な文字列を複数指定して削除しています。
その為、「文字を」と「削除」という文字列が削除され、「rstrip()でこの文字列の末尾にある」という文字列が表示されます。
今回のポイント
rstrip()で末尾の不要な文字列を削除
Pythonで末尾の不要な文字列を削除するにはrstrip()を使用する。
⚫︎ rstrip()のパラメータには削除したい文字を指定する
⚫︎ rstrip()はの注意点として、末尾の文字を含まない文字列を指定しても削除することはできないということと末尾の文字を含んだ文字列を指定しても連結していなければ末尾の文字しか削除されないという点がある
⚫︎ rstrip()で末尾の文字列の空白を削除するには、rstrip()をパラメータ無しで使用する
⚫︎ rstrip()で指定した不要な文字列を削除するにはパラメータに削除したい文字を指定する
⚫︎ rstrip()で指定した複数の文字列を削除するにはパラメータに「‘削除したい文字1 削除したい文字2’」のように空白を空けて指定する
関連記事
Pythonのstrip()で両端の不要な文字列を削除する方法についてはこちらをご参考ください。
ST
株式会社flyhawkのSTです。フライテックメディア事業部でのメディア運営・ライター業務なども担当。愛機はMac Book AirとThinkPad。好きな言語:swift、JS系(Node.js等)。好きなサーバー:AWS。受託開発やプログラミングスクールの運営をしております。ご気軽にお問い合わせください。