ホームページ > バックエンド開発 > Python チュートリアル > Python の文字列から特定の文字を効率的に削除するにはどうすればよいですか?

Python の文字列から特定の文字を効率的に削除するにはどうすればよいですか?

Linda Hamilton
リリース: 2024-12-23 20:17:14
オリジナル
883 人が閲覧しました

How Do I Efficiently Remove Specific Characters from Strings in Python?

Python で文字列から特定の文字を削除する

問題

Python で文字列から特定の文字を削除するには、一般的なこのアプローチは、文字列をループして、不要な文字を特定して削除することです。ただし、このアプローチの実装では文字列の変更に失敗することがよくあります。

回答

Python の文字列の不変性を理解することが重要です。文字列は不変です。つまり、文字列を直接変更することはできません。文字列内の文字を変更しようとすると、新しい文字列が作成されます。

特定の文字を正しく削除するには、変更した文字列を元の変数に割り当て直します。以下に例を示します:

line = "Hello, world!"
for char in " ?.!/;:":
    line = line.replace(char, "")  # Create a new string with the character removed

print(line)  # Output: "Hello,world"
ログイン後にコピー

または、組み込みの str.translate 関数を使用することもできます:

line = "Hello, world!"
line = line.translate(None, "!@#$")  # Remove characters from "!@#$"

print(line)  # Output: "Hello, world"
ログイン後にコピー

または re.sub による正規表現置換:

import re
line = "Hello, world!"
line = re.sub('[!@#$]', '', line)  # Replace characters in `[]` with an empty string

print(line)  # Output: "Hello, world"
ログイン後にコピー

Python 3、Unicode の場合strings:

unicode_line = "Hello, world!"
translation_table = {ord(c): None for c in "!@#$"}
unicode_line = unicode_line.translate(translation_table)  # Delete characters with None mapping

print(unicode_line)  # Output: "Hello, world"
ログイン後にコピー

文字列の不変性を理解することで、Python で特定の文字を効果的に削除し、文字列を効率的に操作できます。

以上がPython の文字列から特定の文字を効率的に削除するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート