Python - 文字列 特定文字 削除

Pythonで文字列内の特定の文字を削除する方法を紹介します。

1. replace() で特定の文字を削除する

replace(A, B) は文字列の A をすべて B に変更します。この関数を使用して、特定の文字を「''」に変更して削除できます。

str = "Hello, World, Python"

new_str = str.replace(',', '')
print(new_str)

Output:

Hello World Python

特定の文字をすべて削除せず、最初に見つかった1つだけ削除したい場合は、下の例のように3番目の引数で削除する回数を渡してください。

str = "Hello, World, Python"

new_str = str.replace(',', '', 1)
print(new_str)

Output:

Hello World, Python

また、以下のように文字だけでなく文字列も削除できます。

str = "Hello, World, Python"

new_str = str.replace('World,', '')
print(new_str)

Output:

Hello,  Python

2. 正規表現と sub() で特定文字を削除

sub(regex, replacement, str) は文字列 str で regex パターンを探し、対応する部分を replacement に変更します。これを使用して特定の文字を削除できます。

以下の例は、文字列 ,'' に変更して削除します。

import re

str = "Hello, World, Python"
result = re.sub(",", "", str)
print(result)

Output:

Hello World Python

以下の例では、文字列 ,HePy の両方を削除します。 |はORの意味で、複数のパターンを追加するときに使用します。

import re

str = "Hello, World, Python"
result = re.sub(",|He|Py", "", str)
print(result)

Output:

llo World thon

3. for loopで特定の文字を削除する

繰り返しステートメントを使用して、特定の文字を直接削除するコードを実装できます。文字列を for char in str のように繰り返し文で繰り返すと、各文字ごとに巡回します。

以下の例は、巡回中の文字が HWPのうちの1つである場合、replaceを通してその文字を削除します。このようにすべての文字に対して処理を行うと、希望の文字列がすべて削除されたことを確認できます。

str = "Hello, World, Python"
result = str
for char in str:
    if char in "HWP":
        result = result.replace(char, '')

print(result)

Output:

ello, orld, ython

Related Posts

codechachaCopyright ©2019 codechacha