[Python]rstripで文字列右側の文字を除去する方法とは?基本的な使い方から紹介!
- システム
エンジニア - Pythonでの文字を除去する方法には、そのような種類がありますか?
- プロジェクト
マネージャー - ここでは、rstripを使った文字の除去方法についてみていきましょう。
[Python]rstripで文字列右側の文字を除去する方法とは?
今回は、Pythonのrstripで文字列右側の文字を除去する方法について説明します。
ここでは、以下について紹介します。
・基本的な使い方
・引数指定
・注意点
・改行コード
・list
・DataFrame
・lstripやstripとの違い
Pythonのrstripで文字列右側の文字を除去する方法に興味のある方はぜひご覧ください。
基本的な使い方
Pythonでのrstripの基本的な使い方を紹介します。「文字列.rstrip()」のように記述します。
実際のソースコードを見てみましょう。
1
2
3
4
|
str = ' Hello world! '
print("rstrip前[" + str + "]")
print("rstrip後[" + str.rstrip() + "]")
|
実行結果は以下のようになります。
1
2
|
rstrip前[ Hello world! ]
rstrip後[ Hello world!]
|
引数を指定しないと、文字列右側のスペースを除去できます。
指定文字の除去
rstripに引数を指定すると、文字列右側の指定文字を除去できます。
実際のソースコードを見てみましょう。
1
2
3
4
|
str = ' Hello world! '
print("rstrip前[" + str + "]")
print("rstrip後[" + str.rstrip("! ") + "]")
|
実行結果は以下のようになります。
1
2
|
rstrip前[ Hello world! ]
rstrip後[ Hello world]
|
文字列右側の指定文字”! “が除去されていることが分かります。
注意点
Pythonでrstripを使う場合の注意点について紹介します。ここでは、文字列右側の”! “を除去したいとします。実際のソースコードを見てみましょう。
1
2
3
4
|
str = ' Hello world ! !! !!! '
print("rstrip前[" + str + "]")
print("rstrip後[" + str.rstrip("! ") + "]")
|
実行結果は以下のようになります。
1
2
|
rstrip前[ Hello world !! !!! ]
rstrip後[ Hello world]
|
ここでは、rstripは文字列右側の”!”または” “を除去するので、”!”または” “が文字列の右側で連続していればすべて除去します。
では、文字列末尾の”! “を除去したい場合はどうすればよいでしょうか?正規表現を使用すれば、実現できます。実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
|
import re
str = ' Hello world ! !! !!! '
print("rstrip前[" + str + "]")
print("rstrip後[" + str.rstrip("! ") + "]")
print("re.sub後[" + re.sub('! $', '', str) + "]")
|
実行結果は以下のようになります。
1
2
3
|
rstrip前[ Hello world ! !! !!! ]
rstrip後[ Hello world]
re.sub後[ Hello world ! !! !!]
|
re.sub()で正規表現を使用すれば、文字列末尾の”! “を除去できます。
改行コード
rstripで、改行コードなどの特殊文字を除去する方法を紹介します。実際のソースコードを見てみましょう。
1
2
3
4
|
str = 'Hello world!\nHello world!\nHello world!\n'
print("rstrip前[" + str + "]")
print("rstrip後[" + str.rstrip("\n") + "]")
|
実行結果は以下のようになります。
1
2
3
4
5
6
7
|
rstrip前[Hello world!
Hello world!
Hello world!
]
rstrip後[Hello world!
Hello world!
Hello world!]
|
改行コードは「\n」で除去します。
list
Pythonでは、listに対してrstripが使用できます。rstripでスペースの一括除去ができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
|
# listの作成
str_list = ['red ', 'green ', 'blue\t ', 'black \t', 'white\t\t ']
# listの一括rstrip
rstrip_list = [str.rstrip() for str in str_list]
print(str_list)
print(rstrip_list)
|
実行結果は以下のようになります。
1
2
|
['red ', 'green ', 'blue\t ', 'black \t', 'white\t\t ']
['red', 'green', 'blue', 'black', 'white']
|
このように、Pythonではlistに対してrstripが使用できます。
DataFrame
Pythonでは、DataFrameに対してrstripが使用できます。rstripでスペースの一括除去ができます。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
|
import pandas as pd
# csvのread
df = pd.read_csv('sample.csv')
# rstrip前のDataFrameを出力
print(df)
# rstrip後のDataFrameを出力
df['name'] = df['name'].str.rstrip()
df['gender'] = df['gender'].str.rstrip()
print(df)
|
実行結果は以下のようになります。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
name age gender
0 taro 30 male
1 hanako 35 female
2 jiro 23 male
3 takako 31 female
4 hiroko 27 female
5 ichiro 36 male
name age gender
0 taro 30 male
1 hanako 35 female
2 jiro 23 male
3 takako 31 female
4 hiroko 27 female
5 ichiro 36 male
|
このようにPythonでは、DataFrameに対してrstripが使用できます。
lstripやstripとの違い
rstripと似た関数にlstripやstripがあります。これらの違いについて紹介します。
lstripは文字列左側の指定文字を除去するに対して、stripは文字列両側の指定文字を除去します。
実際のソースコードを見てみましょう。
1
2
3
4
5
6
7
8
9
10
11
12
|
import re
str = ' \t Hello world! \t '
print("original[" + str + "]")
# rstripで文字列右側(right)のスペースを除去
print("rstrip後[" + str.rstrip() + "]")
# lstripで文字列左側(left)のスペースを除去
print("lstrip後[" + str.lstrip() + "]")
# stripで文字列両側のスペースを除去
print(" strip後[" + str.strip() + "]")
# 正規表現で文字列からスペースを除去
print("re.sub後[" + re.sub(r'\s', '', str) + "]")
|
実行結果は以下のようになります。
1
2
3
4
5
|
original[ Hello world! ]
rstrip後[ Hello world!]
lstrip後[Hello world! ]
strip後[Hello world!]
re.sub後[Helloworld!]
|
rstrip、lstrip、stripについてはセットで覚えておきましょう。
- システム
エンジニア - このrstripを使えば、取得した入力フォームから特定の文字や空白を除去できるようになりますね。
- プロジェクト
マネージャー - そうですね。それぞれ動きが異なるので、使い分けることが必要です。
まとめ
いかがでしたでしょうか。Pythonのrstripで文字列右側の文字を除去する方法について説明しました。基本的な使い方から、listやDataFrameに対するrstripの使い方まで紹介しました。
ぜひご自身でPythonのソースコードを書いて、理解を深めてください。
FEnet.NETナビ・.NETコラムは株式会社オープンアップシステムが運営しています。
株式会社オープンアップシステムはこんな会社です
秋葉原オフィスには株式会社オープンアップシステムをはじめグループのIT企業が集結!
数多くのエンジニアが集まります。
-
スマホアプリから業務系システムまで
スマホアプリから業務系システムまで開発案件多数。システムエンジニア・プログラマーとしての多彩なキャリアパスがあります。
-
充実した研修制度
毎年、IT技術のトレンドや社員の要望に合わせて、カリキュラムを刷新し展開しています。社内講師の丁寧なサポートを受けながら、自分のペースで学ぶことができます。
-
資格取得を応援
スキルアップしたい社員を応援するために資格取得一時金制度を設けています。受験料(実費)と合わせて資格レベルに合わせた最大10万円の一時金も支給しています。
-
東証プライム上場企業グループ
オープンアップシステムは東証プライム上場「株式会社夢真ビーネックスグループ」のグループ企業です。
安定した経営基盤とグループ間のスムーズな連携でコロナ禍でも安定した雇用を実現させています。
株式会社オープンアップシステムに興味を持った方へ
株式会社オープンアップシステムでは、開発系エンジニア・プログラマを募集しています。
年収をアップしたい!スキルアップしたい!大手の上流案件にチャレンジしたい!
まずは話だけでも聞いてみたい場合もOK。お気軽にご登録ください。
新着案件New Job
-
開発エンジニア/東京都品川区/【WEB面談可】/在宅ワーク
月給29万~30万円東京都品川区(大崎駅) -
遠隔テストサービス機能改修/JavaScript/東京都港区/【WEB面談可】/テレワーク
月給45万~60万円東京都港区(六本木駅) -
病院内システムの不具合対応、保守/東京都豊島区/【WEB面談可】/テレワーク
月給30万~30万円東京都豊島区(池袋駅) -
開発/JavaScript/東京都豊島区/【WEB面談可】/テレワーク
月給50万~50万円東京都豊島区(大塚駅) -
債権債務システム追加開発/東京都文京区/【WEB面談可】/在宅勤務
月給62万~67万円東京都文京区(後楽園駅) -
PMO/東京都豊島区/【WEB面談可】/在宅勤務
月給55万~55万円東京都豊島区(池袋駅)