Home » Python » Pythonで特定の文字以降を削除する

Pythonで特定の文字以降を削除する

動作検証バージョン:Windows 10 + Python 3.7.3

「python 特定の文字以降削除」
「python 指定した文字列以降を削除する」
といった検索キーワードでアクセスがありました。

[スポンサードリンク]

str.find()メソッドとスライスで特定の文字以降を削除

以下のコードをIDLEのShellウィンドウで実行すると、文字列「abc-def」から「-」以降を削除した「abc」を取得できることが確認できます。

txt = 'abc-def'
pos = txt.find('-')
txt[:pos]

str.findメソッドを使うと、文字列の中から指定した文字が何文字目にあるかを取得できます。

str.findで取得した値を変数posに代入して、
  pos = txt.find('-')

スライスしています。
  txt[:pos]

変数posを使わずに以下のように1行にすることもできます。

txt = 'abc-def'
txt[:txt.find('-')]

str.splitメソッドで特定の文字以降を削除

str.findメソッドを使ったコードを1行にまとめるのなら、str.splitメソッドを使うほうが、私はわかりやすいと感じます。

txt = 'abc-def'
txt.split('-')[0]

str.splitメソッドで、元の文字列「abc-def」を「-」で分割して、その1つ目を取得しています。

上記のコードを、
  txt.split('-')[1]
にすれば「def」を取得できます。

str.partitionメソッドで特定の文字以降を削除

str.partitionメソッドでも、str.splitメソッドと似たコードで「-」以降を削除できます。

txt = 'abc-def'
txt.partition('-')[0]

最終更新日時:2020-08-12 14:48

[スポンサードリンク]

Home » Python » Pythonで特定の文字以降を削除する

TrackBack:0

TrackBack URL

Home » Python » Pythonで特定の文字以降を削除する

「Python」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.