Pythonで空白を削除する方法!strip()・rstrip()・lstrip()の活用
生徒
「Pythonで文字列の前後にある空白って消すことができますか?」
先生
「はい、できますよ!strip()
、rstrip()
、lstrip()
という3つのメソッドを使えば、文字列から空白を削除できます。」
生徒
「どれも似たような名前ですね。どう違うんですか?」
先生
「stripは前後、rstripは右だけ、lstripは左だけを削除します。それぞれ詳しく見ていきましょう。」
1. strip()とは?文字列の前後の空白を削除する方法
strip()
は、文字列の前後にある空白(スペースや改行など)を削除するメソッドです。文字列の中身そのものは変えません。
text = " Python入門 "
print(text.strip())
Python入門
このように、両端の余計な空白がきれいに取り除かれます。
2. rstrip()で右側(末尾)の空白だけ削除
rstrip()
は文字列の右側(末尾)の空白だけを削除します。前の空白はそのまま残ります。
text = " Python入門 "
print(text.rstrip())
Python入門
このように、右側の空白だけが消えて、左側はそのままになります。
3. lstrip()で左側(先頭)の空白だけ削除
lstrip()
は、文字列の左側(先頭)の空白だけを削除します。右側は残ります。
text = " Python入門 "
print(text.lstrip())
Python入門
このように、左だけすっきり消えます。
4. 空白だけでなく特定の文字も削除できる
実はstrip()
などに「文字列」を渡すと、その文字も削除できます。たとえば「*」を削除したい場合は次のようにします。
text = "***Python***"
print(text.strip("*"))
Python
このように、空白以外の指定した文字も削除できるのです。
5. strip()の注意点:文字列の途中は削除されない
strip()
は前後の空白しか削除しません。文字列の「途中」にある空白は削除されません。
text = " Python 入門 "
print(text.strip())
Python 入門
真ん中の空白を消したい場合は、replace()
を使います。
print(text.replace(" ", ""))
Python入門
6. strip()を使った実用例:ユーザーの入力を整える
たとえば、ユーザーが入力した名前の前後に空白が入っていたとき、それを削除して正しく比較することができます。
name = input("お名前を入力してください:")
if name.strip() == "山田":
print("ようこそ山田さん!")
これなら、「 山田」や「山田 」と入力しても問題ありません。
7. 改行文字やタブも削除できる
strip()
はスペースだけでなく、\n
(改行)や\t
(タブ)も削除します。
text = "\n\tPython学習\n"
print(text.strip())
Python学習
このように、複数の種類の空白もまとめて取り除くことができます。
8. ファイルの読み込みでstrip()を使う例
ファイルからデータを1行ずつ読み込むと、行末に改行がついていることがあります。strip()
を使えば、それを削除してきれいな文字列として扱えます。
with open("sample.txt", "r", encoding="utf-8") as file:
for line in file:
print(line.strip())
改行を削除して1行ずつ処理する場面でよく使われる書き方です。
9. strip()を使った練習問題
次の文字列の前後の空白と改行を削除して、きれいな文章にしてみましょう。
text = " \n Pythonは簡単です \n "
clean_text = text.strip()
print(clean_text)
Pythonは簡単です
このように、strip()を使えばどんな空白もスッキリ整えられます。