Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimana untuk Mengeluarkan Aksara Tertentu dengan Cekap daripada String dalam Python?

Bagaimana untuk Mengeluarkan Aksara Tertentu dengan Cekap daripada String dalam Python?

Linda Hamilton
Lepaskan: 2024-12-13 18:21:16
asal
836 orang telah melayarinya

How to Efficiently Remove Specific Characters from a String in Python?

Alih Keluar Aksara Tertentu daripada Rentetan dalam Python

Apabila bekerja dengan rentetan dalam Python, anda mungkin perlu mengalih keluar aksara tertentu. Cara yang paling biasa untuk melakukan ini ialah menggunakan kaedah replace(). Walau bagaimanapun, malangnya kod berikut nampaknya tidak mengalih keluar sebarang aksara:

for char in line:
    if char in " ?.!/;:":
        line.replace(char,'')
Salin selepas log masuk

Isu dengan kod ini ialah kaedah replace() tidak mengubah suai rentetan di tempatnya. Untuk menggantikan aksara dengan betul, anda perlu menetapkan semula hasil kaedah replace() kembali kepada pembolehubah baris:

for char in " ?.!/;:":
    line = line.replace(char,'')
Salin selepas log masuk

Sebagai alternatif, anda boleh menggunakan pendekatan yang lebih ringkas dan cekap:

import string
line = line.translate(string.maketrans('', ''), '!@#$')
Salin selepas log masuk

Kaedah translate() mengambil jadual terjemahan sebagai hujah kedua. Jadual terjemahan ialah rentetan di mana setiap aksara mewakili aksara yang sepadan untuk dialih keluar. Dalam kes ini, jadual terjemahan mengandungi empat aksara: '!', '@', '#' dan '$'. Mana-mana aksara dalam baris yang sepadan dengan salah satu daripada aksara ini akan dialih keluar.

Pilihan lain ialah menggunakan ungkapan biasa:

import re
line = re.sub('[!@#$]', '', line)
Salin selepas log masuk

Kaedah sub() mengambil corak ungkapan biasa sebagai yang pertama hujah. Corak yang disertakan dalam kurungan menentukan aksara yang hendak dialih keluar. Hujah kedua ialah rentetan untuk menggantikan aksara yang sepadan dengan. Dalam kes ini, rentetan kosong digunakan untuk mengalih keluar aksara dengan berkesan.

Untuk Python 3, rentetan diwakili sebagai Unikod dan memerlukan pendekatan yang sedikit berbeza:

unicode_line = unicode_line.translate({ord(c): None for c in '!@#$'})
Salin selepas log masuk

Kod ini mencipta jadual terjemahan di mana setiap aksara dalam senarai dipetakan kepada Tiada, menunjukkan bahawa ia harus dialih keluar.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Aksara Tertentu dengan Cekap daripada String dalam Python?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan