LoginSignup
0
1

More than 5 years have passed since last update.

str.rstrip()での文字列削除での注意点 ~python学習1.04~

Last updated at Posted at 2019-01-13

str.rstrip()とは

文字列を右(末尾)から、引数に指定された文字、あるいは文字列がないか探して除去する関数である。
以下に例を示す。

qiita1.py
>>> x = 'Don\'t say "lazy"'
>>> x = x.rstrip('"lazy"')
>>> print(x)
Don't say 

x.rstrip()は、xから引数に該当する文字列を除去した結果(str型)を返却するため、返り値を受け取らないと除去した値を扱うことができない。
これは、str型がimmutableであることに起因するだろう。

注意点とは

引数に含まれる文字が除去の対象となることである。
もう少し具体的に言うと、'"lazy"' が仮引数に与えられた場合、
'"lazy"' の連続した文字列を除去するのではなく、'y"' や 'zy"', 'az' など部分的な文字であっても除去してしまう。
ただし、文字列の末尾が引数の文字列の末尾と一致していない場合や、 引数に含まれない文字が現れた場合、
そこで評価は終了し値が返される。
具体例を以下に示す。

qiita2.py
>>> x = 'Don\'t say "lazy"'
>>> print(x.rstrip(" \"lazy\""))
Don't s
>>> print(x.rstrip("lazy"))
Don't say "lazy"

1つ目のrstrip()について、qiita1.pyとの違いは空白文字が追加されている。
2つ目のrstrip()について、末尾が違うため除去されずに値が返されている。

おわりに

Don't say "lazy"というわかりにくい文字列で書いてたいへん恐縮だが、
文字列内に " と ' が含まれているため、文字列の勉強にはおススメである。

開発環境

Windows10 64bit
Python 3.7.1
PyCharm 2018.3.2

参考資料

学習に用いているものとして、以下の2つがメインです。
詳細! Python 3 入門ノート
Python公式ドキュメント

0
1
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1