動作検証バージョン:Windows 10 + Python 3.7.3
「python 特定の文字以降削除」
「python 指定した文字列以降を削除する」
といった検索キーワードでアクセスがありました。
[スポンサードリンク]
str.find()メソッドとスライスで特定の文字以降を削除
以下のコードをIDLEのShellウィンドウで実行すると、文字列「abc-def」から「-」以降を削除した「abc」を取得できることが確認できます。
txt = 'abc-def'
pos = txt.find('-')
txt[:pos]
pos = txt.find('-')
txt[:pos]
str.find()メソッドを使うと、文字列の中から指定した文字が何文字目にあるかを取得できます。
str.find()で取得した値を変数posに代入して、
pos = txt.find('-')
スライスしています。
txt[:pos]
変数posを使わずに以下のように1行にすることもできます。
txt = 'abc-def'
txt[:txt.find('-')]
txt[:txt.find('-')]
str.split()メソッドで特定の文字以降を削除
str.find()メソッドを使って1行にするのなら、str.split()メソッドを使うほうが、私はわかりやすいと感じます。
txt = 'abc-def'
txt.split('-')[0]
txt.split('-')[0]
str.split()メソッドで、元の文字列「abc-def」を「-」で分割して、その1つ目を取得しています。
上記のコードを、
txt.split('-')[1]
にすれば「def」を取得できます。
str.partition()メソッドで特定の文字以降を削除
str.partition()メソッドでも、str.split()メソッドと似たコードで「-」以降を削除できます。
txt = 'abc-def'
txt.partition('-')[0]
txt.partition('-')[0]
最終更新日時:2023-05-30 13:58
[スポンサードリンク]