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]

[スポンサードリンク]

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

TrackBack:0

TrackBack URL

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

「Python」の記事一覧

検索


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

.