Pythonで文字列の末尾を削除する方法とは?目的に応じた2つの方法を解説!

Pythonで文字列の末尾を削除する方法アイキャッチ
スポンサーリンク

こんにちは、あぶちゃです。

このブログでは、AI×Pythonの力で日常をもっと便利にするアイデアを発信しています。

悩んでいる人

Pythonで文字列の末尾を削除する方法が知りたい!

以上のような疑問にお答えしていきます。

この記事で学べること
  • スライスを使って、文字列の末尾からn文字を削除する方法
  • rstrip()を使って、文字列の末尾から特定の文字列を削除する方法

Pythonで文字列を扱う場合、不要な末尾文字が含まれると思わぬ不具合が生じることがあります。

本記事では、Pythonで文字列の末尾を削除する方法について、スライスを用いた方法と、組み込み関数の一つであるrstrip()を使った方法の2つを解説します。

それぞれの方法の使い方について、pythonコードを交えて詳しく解説します。

pythonコードを活用しながら、文字列の末尾を削除する方法についてわかりやすく解説していますので、ぜひ参考にしてください

目次

文字列の末尾を削除したい!2つの事例とは?

文字列の末尾を削除したい場合、以下の2つの事例が考えられます。

文字列の末尾を削除したい!2つの事例

  1. 文字列の末尾からn文字を削除したい
  2. 文字列の末尾から特定の文字列を削除したい

それぞれの方法について解説していきます。

スポンサーリンク

文字列の末尾からn文字を削除する方法【スライスを使う方法】

スライスとは?

Pythonのスライスは、文字列やリスト、タプルから部分的な要素を抜き出す方法です。

抜き出したい要素の開始位置と終了位置を指定することで、指定した範囲の要素を抜き出すことができます。

次のような構文で、要素を抜き出すことができます。

sequence[start:stop:step]
  • sequence : 文字列やリスト、タプルなどの変数
  • start : スライスの開始位置
  • stop : スライスの終了位置
  • step : スライスのステップ(刻み幅)

例えば、文字列のスライスを取得する場合は、次のようにします。

text = "AI×Python Tech研究所"
print(text[0:9]) 
# 出力結果 : "AI×Python"

この場合、startは0、stopは9を指定しているため、文字列の最初から9文字目の前までの要素が取得されます。

Pythonコード : 末尾からn文字を削除

スライスを使うことで、文字列の末尾からn文字を削除することができます。

末尾からn文字を削除するためには、[:-n]というスライス表記を用います。

pythonコードの例

text = "AI×Python Tech研究所"
text = text[:-8]
print(text) 
# 出力結果 : "AI×Python"

上記のコードでは、[:-n]というスライス表記を用いて、n変数に8を代入しているため、文字列の最後から8文字目までの要素を取得しています。

このように、文字列のスライスを用いることで、末尾からn文字を削除することができます。

文字列の末尾から特定の文字列を削除する方法【rstrip()を使う方法】

rstrip()とは?

rstrip()は、Pythonの文字列メソッドの一つで、文字列の末尾から特定の文字を削除するために使用されます。

末尾から削除したい文字列を指定することで、指定した文字列を末尾から削除した後の要素を取得することができます。

次のような構文で末尾から特定の文字列を削除することができます。

sequence.rstrip('s')
  • sequence : 文字列やリスト、タプルなどの変数
  • s : 削除したい文字列

Pythonコード : 末尾から特定の文字列を削除

rstrip()を使うことで、文字列の末尾から特定の文字列を削除することができます。

pythonコードの例

text = "This is a sample text."
text = text.rstrip('.')
print(text)
# 出力結果 : "This is a sample text"

上記のコードでは、削除したい文字列として”.”を指定しているため、文字列の末尾から”.”を削除した後の要素を取得しています。

このように、rstrip()を用いることで、末尾から特定の文字列を削除することができます。

rstrip()の使用時の注意点

末尾に削除したい特定の文字列が複数ある場合は、特定の文字列すべてを削除する

pythonコードの例

text = "This is a sample text!!!"
text = text.rstrip('!')
print(text)
# 出力結果 : "This is a sample text"

上記のコードのように、削除したい文字列として指定した”!”が末尾に複数ある場合は、末尾にあるすべての”!”を削除します。

複数の文字列を削除したい文字列として指定することができるが、文字列は連結していないと削除されない

pythonコードの例

削除したい文字列が、末尾で連結している場合

text = "123456789"
text = text.rstrip('879')
print(text)
# 出力結果 : "123456"

上記のコードでは、削除したい文字列として指定した”879″は、末尾で連結しているため削除される。

文字列は、順不同で連結さえしていれば削除される。

削除したい文字列が、末尾で連結していない場合

text = "123456789"
text = text.rstrip('869')
print(text)
# 出力結果 : "1234567"

上記のコードでは、削除したい文字列として”869″をしているが、”6″は末尾で”8″と”9″と連結してしないため削除されない。

“最後に” Pythonで文字列の末尾を削除する方法 | まとめ

Pythonにおける文字列の末尾削除にはスライスを用いる方法rstrip()を用いる方法の2つがあることがわかりました。

スライスを用いる場合では、文字列の末尾から削除したい文字数を指定して指定した範囲の要素を取得します。

一方、rstrip()を使う場合は、削除したい文字を指定して文字列の末尾から特定の文字列を削除できます。

どちらの方法を選ぶべきかは、削除したい文字列の種類や削除する文字列の数によって異なります。

目的に応じて適切な方法を選択し、文字列の操作を行いましょう。

最後まで、お付き合いいただきまして、ありがとうございました。

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

この記事を書いた人

あぶちゃのアバター あぶちゃ AI×Pyhonエンジニア

AI×Pythonの力で日常をもっと便利にするアイデアを紹介するブログ「AI Life Hacks」を運営中。
本業は、大手メーカーの機械系研究職であり、将来技術の研究やpythonによる機械学習などを用いたデータ分析に主に携わっている。

【実績】
20代で年収1000万を実現
5年間のドイツ駐在を通して、世界の最新技術に精通
訪れた国は30カ国以上

目次