Python で文字列から部分文字列を削除する方法

Syed Moiz Haider 2023年1月30日
  1. Python 3.x で文字列から文字列を置換する str.replace() メソッド
  2. Python 2.x で文字列から部分文字列を置換する string.replace() メソッド
  3. 文字列からサフィックスを削除するには str.removesuffix() を用いる
Python で文字列から部分文字列を削除する方法

このチュートリアルでは、Python で文字列から部分文字列を削除する方法を説明します。文字列は単に削除するのではなく、単に置換することができることを教えてくれます。また、このチュートリアルでは、以前の Python のバージョンからメソッドが変更されているので、概念を明確にするためにいくつかのコード例を挙げています。

Python 3.x で文字列から文字列を置換する str.replace() メソッド

文字列には多くのメソッドが組み込まれています。実は Python では文字列は不変です。新しい文字列を作成するには str.replace() メソッドを利用することができます。str.replace(oldvalue, newvalue, count) は、oldvaluenewvalue に置き換えられた文字列のコピーを返します。count は置換が何回行われるかを指定します。

list_str = {"Abc.ex", "Bcd.ex", "cde.ex", "def.jpg", "efg.jpg"}
new_set = {x.replace(".ex", "").replace(".jpg", "") for x in list_str}
print(new_set)

出力:

{'Bcd', 'Abc', 'cde', 'def', 'efg'}

Python 2.x で文字列から部分文字列を置換する string.replace() メソッド

Python 2.x を使用している場合は、string.replace() メソッドを使用して部分文字列を置換することができます。このメソッドは old valuenew valuecount をパラメータとして受け取る。new valueold value を置換するために必要な値であり、count は置換したい古い値の出現回数を指定する数値です。デフォルトではすべての値が置換されます。

このメソッドのコード例を以下に示します。

text = "Hello World!"
x = text.replace("l", "k", 1)
print(x)

出力:

Heklo World!

文字列からサフィックスを削除するには str.removesuffix() を用いる

Python 3.9 を使用している場合は、str.removesuffix('suffix') を使用してサフィックスを削除することができます。

文字列の末尾にサフィックス文字列があり、サフィックスが空でない場合は、サフィックスを除去した文字列を返します。そうでなければ、元の文字列が返されます。

以下に str.removesuffix() の基本例を示します。

text = "Quickly"
print(text.removesuffix("ly"))
print(text.removesuffix("World"))

出力:

Quick
Quickly
Syed Moiz Haider avatar Syed Moiz Haider avatar

Syed Moiz is an experienced and versatile technical content creator. He is a computer scientist by profession. Having a sound grip on technical areas of programming languages, he is actively contributing to solving programming problems and training fledglings.

LinkedIn

関連記事 - Python String