Python 空白を削除するメソッド2つ知ってる? - BlogMuu
文章推薦指數: 80 %
ついでに、改行を削除するメソッド、文字列を削除するメソッドも解説しました。
... \tは「Tab」を押したときと同じ; \u3000は全角の空白文字.
ホームプログラミングプログラミングスクールC言語PythonアプリZoomstand.fmSpotify大学生活大学入学前ホームプログラミングPythonPython空白を削除するメソッド2つ知ってる?空白を削除したい人空白を削除した状態で出力したいな。
便利なメソッドを教えてください…こちらの悩みを解決しますね。
結論から言うと、下の通りです。
空白文字を削除するためのメソッドreplaceメソッドsplitメソッドこの2つを詳しく解説します。
本記事の内容・空白を削除できるメソッド一覧・replaceで空白を削除・splitで空白を削除・splitlinesで改行を削除・文字を削除するためのメソッド・stripメソッドにおける注意点この記事を書いている自分は、プログラミング歴4年の駆け出し以上中堅未満のエンジニアです。
過去には、AI囲碁をWebアプリ化したり、Pythonでのアプリ開発、Web制作やフロントエンドのデザインまで幅広くやってきました。
今回はそんな経験をもとに解説していこうかと。
当サイトでは、覚えるべきところを全てまとめているので、画面を撮影して何度も読み返すことをおすすめします。
それでは、解説していきます!目次空白を削除できるメソッド一覧replaceで空白を削除splitで空白を削除splitlinesで改行を削除文字列を削除するためのメソッドlstripで文字列を削除rstripで文字列を削除stripメソッドにおける注意点まとめ:空白を削除するメソッドは全部で2つ 空白を削除できるメソッド一覧pythonで空白文字を除去するときに、役立つメソッドは以下の2つです。
空白文字を削除するためのメソッドreplaceメソッドsplitメソッド上から順に解説していきますね。
replaceで空白を削除replaceメソッドで空白を削除する方法は以下の通りです。
replaceで空白を削除する方法‘[文字列]’.replace(‘‘,”)‘[変数]’.replace(‘‘,”)実際に例を見てみましょう。
num='111222'
num_new=num.replace('','')
print(num_new)111と222の間にある空白を削除してみます。
replaceは、文字列の一部を置換することができるメソッドですが、このように空白を削除することもできます。
参考までに、replaceで文字列中の元文字列を置換文字列で置換する方法も紹介します。
replaceで文字列を置換する方法‘[文字列]’.replace(‘[元文字列]’,‘[置換文字列]’)‘[変数]’.replace(‘[元文字列]’,‘[置換文字列]’)splitで空白を削除splitを使えば、改行コード、タブ、unicodeでの空白などを簡単に削除できます。
これらはプログラム内で、エスケープ文字というものを使って表します。
エスケープ文字の一覧改行コード・・・\nタブ・・・\tunicodeでの空白・・・\u3000エスケープ文字の解説も合わせてご覧ください。
いくつか注意すべきことをまとめます。
「\」はバックスラッシュと同じ意味\uでunicode文字が使える\tは「Tab」を押したときと同じ\u3000は全角の空白文字splitを使ったサンプルコードは以下の通りです。
text="1\t2\u30003\n4"
print(text)
text=''.join(text.split())
print(text)3行目にsplitメソッドが使われていますね。
これを新たにtextに代入すると、以下の通りの出力結果になります。
上2行が何の削除処理もしていない場合で、一番下の「1234」が、splitメソッドによってタブ、unicodeでの空白処理、改行といった処理を削除した結果になります。
これらの削除処理が一度に出来るのですから、splitは使いこなせばとても便利なメソッドだということがお分かりいただけたかと思います。
splitlinesで改行を削除ついでに、改行を削除するためのメソッドも解説します。
splitlinesを使えば、改行だけを削除することができます。
まずは入力を下のように書き換えます。
text="1\t2\u30003\n4"
print(text)
text=''.join(text.splitlines())
print(text)split()がsplitlines()に置き換わっているのが分かりますね。
では、これを実行してみましょう。
先程の3列目の出力結果と見比べてみると、タブやunicodeの空白がそのまま点在しており、それらの命令は無効になっておりません。
その代わり3と4の間にある改行が無効になっています。
この処理は例えば、1行ごとの空白を含めた文字数を数えたり、後述するsplitを使う注意点など局所的に役に立つことがあるので覚えておいて損はありません。
その他、splitメソッドには・垂直タブ【\v】・フォームフィード(改ページ)【\f】・キャリッジリターン(復帰)【\r】などにも使えます。
文字列を削除するためのメソッドまた、文字列を削除するためのメソッドもあります。
文字列を削除するためのメソッドstrip・・・文字列を削除lstrip・・・左側を削除rstrip・・・左側を削除「left=左」「right=右」という意味があるので、覚えやすいですね。
下2つだけ解説していきますね。
lstripで文字列を削除では具体的な使い方をみていきましょう。
num='123456'
num_new=num.lstrip('123')
print(num_new)この場合、出力結果はと、なります。
左側の123が削除されていますね。
rstripで文字列を削除rstrip()の場合はnum='123456'
num_new=num.rstrip('456')
print(num_new)この場合、出力結果は予想通りの結果となりました。
ちなみに、例えばlstripで終端(右側)にある文字列を消そうとしても無効になり、そのままnumの値(123456)がかえってきます。
もちろん逆も同様です。
これは、stripメソッドと違って文字列全体ではなく、末尾から値を取り出して削除する、という性質をもっているからです。
rstripの場合も、先頭から文字列の値を取り出します。
stripメソッドにおける注意点先ほどのような場合なら、どちらもstripメソッドを使っても問題ないです。
ですが、次のコードをご覧ください。
language="python.jpeg"
print(language.strip('.jpeg'))実行結果は次になります。
これは「.jpeg」という拡張子のみを消したかったにも関わらず、「.jpeg」の3文字目にpが入っているため、「python」の頭文字まで削除されてしまったという例です。
先述の通り文字列全体から値を取り出すという性質の弊害をもっているためです。
これを防ぐには先程のrstripを使うのが良いでしょう。
language="python.jpeg"
print(language.rstrip('.jpeg'))出力結果はこうなります。
このようにすれば、rstripで指定された右側の.jpegだけ消してくれます。
例えば画像をまとめて処理したりする場合などに、こういった手法を使うこともあります。
まとめ:空白を削除するメソッドは全部で2つもう一度言います。
空白を削除できるメソッドは以下の通りです。
replaceメソッドsplitメソッド他にも、改行を削除できるメソッド、文字列を削除できるメソッドなどを紹介したので、参考にしてください。
今回は以上です!人気記事【注意点あり】Zoom背景ぼかしの使い方(3手順)91913views2021.02.012021.06.16Spotifyのプレイリストで違う曲が流れるのを防ぐ方法18117views2021.03.162021.04.27【デメリットあり】Zoomはインストール不要だけど…8690views2021.03.272021.04.27【2021年最新】Zoomに参加できない7つの原因と対処法5908views2021.01.312021.03.22【体験談】Spotifyでダウンロードできなかった理由4256views2021.04.112021.05.05アーカイブアーカイブ月を選択2022年5月 (1)2021年7月 (1)2021年5月 (1)2021年4月 (12)2021年3月 (25)2021年2月 (7)2021年1月 (5)2020年11月 (3)2020年10月 (1)2020年9月 (1)2020年8月 (17)2020年7月 (13)2020年6月 (18)新着記事ホテルに泊まってすごいと思ったこと2022.05.11【限定特典5つ】佐々木さんのBrain教材レビューしてみた2021.07.242022.02.06【評判】Audibleってどうなの?実際に使ってみたら…2021.05.162021.07.23【簡単】Zoomでチャットを使うための3手順2021.04.182021.04.27自己紹介大熊詩音前職におきまして最先端のAI囲碁開発プロジェクトに従事したこともございます。
そこで主にPython、Anaconda3ディストリビューションを利用した各種ライブラリでの開発、ディープラーニングなど、AIに携わるあらゆる基礎から実装まで取り入れました。
AI囲碁大会が終わった後、私はもっと自分の力を試してみたくて、フリーランスになることにしました。
Pythonでのアプリ開発、Web制作やフロントエンドのデザインまで幅広くやってきたと自分でも思います。
そんな今、何をやりたいかと言えば「自分のIT知識や経験を活かして、世に広げたい」という思いに変わっていきました。
毎日が勉強と思って、スキルを磨いております。
FOLLOWME! メニューホームプログラミングプログラミングスクールC言語PythonアプリZoomstand.fmSpotify大学生活大学入学前BlogMuu検索
延伸文章資訊
- 1U3000 python 削除-2021-04-17 | 你不知道的歷史故事| 萌寵公園 ...
U3000 python 削除相關資訊,python去除\ufeff、\xa0、\u3000 - zqifa - 开发者的网上家园- 博客园2018年11月8日· 今天使用python处理一个t...
- 2python リスト内の文字列から\u3000を文字列から削除したい
リスト内に含まれる\u3000を取り除きたいのですが、 ```ここに言語を入力data.split('\n') ``` ['1億円\u3000(平成10年度実績)', '2億円\u3.
- 3U3000 python 削除在PTT/Dcard完整相關資訊 - 萌寵公園
提供U3000 python 削除相關PTT/Dcard文章,想要了解更多Ufeff、U3000 unicode、Python csv u3000有關寵物文章或書籍,歡迎來萌寵公園提供您完整相關訊息.
- 4python剔除空格\u3000 - 知乎专栏
python剔除空格\u3000. 1 年前· 来自专栏Python日常使用 ... \u3000. 这个是全角的空格符号. [hex(ord(s)) for s in '中国'] ...
- 5Pythonで文字列の一部を削除(stripなど) - nkmk note
改行 \n や全角スペース \u3000 やタブ \t などが空白文字とみなされ削除される。 print() の出力だと分かりにくいが、元の文字列には c のあとに全角 ...