Jika Anda mencari cara untuk menghapus atau mengganti semua atau sebagian string dengan Python, tutorial ini cocok untuk Anda. Anda akan mengambil transkrip ruang obrolan fiktif dan membersihkannya menggunakan metode 7 dan fungsi 8 Show
Dalam Python, metode 7 dan fungsi 8 sering digunakan untuk membersihkan teks dengan menghapus string atau substring atau menggantinya. Dalam tutorial ini, Anda akan berperan sebagai pengembang untuk perusahaan yang memberikan dukungan teknis melalui obrolan teks satu-ke-satu. Anda ditugasi membuat skrip yang akan membersihkan obrolan, menghapus data pribadi apa pun, dan mengganti kata-kata makian dengan emojiAnda hanya diberi satu transkrip obrolan yang sangat singkat _Meskipun transkrip ini pendek, ini tipikal jenis obrolan yang selalu dimiliki agen. Ini memiliki pengidentifikasi pengguna, stempel waktu ISO, dan pesan Dalam hal ini, klien _1 mengajukan keluhan, dan kebijakan perusahaan adalah membersihkan dan menyederhanakan transkrip, kemudian menyebarkannya untuk evaluasi independen. Membersihkan pesan adalah tugas AndaKode sampel. Klik di sini untuk mengunduh kode sampel gratis yang akan Anda gunakan untuk mengganti string dengan Python Hal pertama yang ingin Anda lakukan adalah menangani kata-kata umpatan apa pun Cara Menghapus atau Mengganti String atau Substring PythonCara paling dasar untuk mengganti string dengan Python adalah dengan menggunakan metode string 7>>> ________0______ Seperti yang Anda lihat, Anda dapat merangkai _7 ke string apa pun dan menyediakan metode dengan dua argumen. Yang pertama adalah string yang ingin Anda ganti, dan yang kedua adalah penggantinyaCatatan. Meskipun shell Python menampilkan hasil 7, string itu sendiri tetap tidak berubah. Anda dapat melihat ini lebih jelas dengan menugaskan string Anda ke sebuah variabel>>> _Perhatikan bahwa saat Anda memanggil _7, nilai 6 tidak berubah. Tetapi ketika Anda menetapkan hasil _7 ke variabel 6, 9 menjadi 0Sekarang saatnya menerapkan pengetahuan ini ke transkrip >>> _Memuat transkrip sebagai a dan kemudian menggunakan metode 7 pada salah satu kata umpatan berfungsi dengan baik. Tapi ada kata umpatan lain yang tidak diganti karena di Python, string harus sama persis>>> _Seperti yang Anda lihat, meskipun huruf kapital dari satu huruf tidak cocok, itu akan mencegah penggantian apa pun. Ini berarti bahwa jika Anda menggunakan metode 7, Anda harus memanggilnya berkali-kali dengan variasi. Dalam hal ini, Anda dapat menyambungkan panggilan lain ke 7>>> _Kesuksesan. Tetapi Anda mungkin berpikir bahwa ini bukan cara terbaik untuk melakukan ini untuk sesuatu seperti pembersih transkripsi tujuan umum. Anda akan ingin beralih ke suatu cara untuk memiliki daftar pengganti, daripada harus mengetik 7 setiap kaliHilangkan iklanSiapkan Beberapa Aturan PenggantianAda beberapa penggantian lagi yang perlu Anda lakukan pada transkrip agar formatnya dapat diterima untuk tinjauan independen
Sekarang Anda mulai memiliki lebih banyak string untuk diganti, rantai pada 7 akan berulang. Salah satu idenya adalah menyimpan daftar tupel, dengan dua item di setiap tupel. Kedua item tersebut akan sesuai dengan argumen yang perlu Anda sampaikan ke metode 7βstring yang akan diganti dan string pengganti
Dalam versi skrip pembersihan transkrip ini, Anda membuat daftar tupel pengganti, yang memberi Anda cara cepat untuk menambahkan pengganti. Anda bahkan dapat membuat daftar tupel ini dari file CSV eksternal jika Anda memiliki banyak pengganti Anda kemudian mengulangi daftar tupel pengganti. Di setiap iterasi, Anda memanggil 7 pada string, mengisi argumen dengan variabel 8 dan 9 yang telah dibongkar dari setiap tupel penggantiCatatan. Pembongkaran di _0 loop dalam hal ini secara fungsional sama dengan menggunakan pengindeksan
Jika Anda bingung dengan membuka kemasannya, lihat dari tutorial tentang daftar dan tupel Python Dengan ini, Anda telah membuat peningkatan besar dalam keseluruhan keterbacaan transkrip. Juga lebih mudah untuk menambahkan pengganti jika perlu. Menjalankan skrip ini mengungkapkan transkrip yang jauh lebih bersih
Itu transkrip yang cukup bersih. Mungkin hanya itu yang Anda butuhkan. Tetapi jika automator batin Anda tidak senang, mungkin karena masih ada beberapa hal yang mungkin mengganggu Anda.
Jika ini adalah kekhawatiran Anda, maka Anda mungkin ingin mengalihkan perhatian Anda ke ekspresi reguler Manfaatkan >>> "Fake Python".replace("Fake", "Real") 'Real Python' _8 untuk Membuat Aturan yang KompleksSetiap kali Anda ingin melakukan penggantian yang sedikit lebih rumit atau membutuhkan beberapa wildcard, Anda biasanya ingin mengalihkan perhatian Anda ke ekspresi reguler, juga dikenal sebagai regex Regex adalah semacam bahasa mini yang terdiri dari karakter yang menentukan pola. Pola ini, atau regex, biasanya digunakan untuk mencari string dalam operasi temukan dan temukan dan ganti. Banyak bahasa pemrograman mendukung regex, dan banyak digunakan. Regex bahkan akan memberi Anda kekuatan super Dalam Python, memanfaatkan regex berarti menggunakan modul 2 dan membangun pola regex Anda sendiri
Meskipun Anda dapat mencampur dan mencocokkan fungsi _3 dengan metode 7, contoh ini hanya menggunakan 3, sehingga Anda dapat melihat bagaimana penggunaannya. Anda akan melihat bahwa Anda dapat mengganti semua variasi kata umpatan dengan hanya menggunakan satu tupel pengganti sekarang. Demikian pula, Anda hanya menggunakan satu regex untuk stempel waktu penuh 0Sekarang transkrip Anda telah dibersihkan sepenuhnya, dengan semua kebisingan dihilangkan. Bagaimana itu bisa terjadi? Pola regex pertama, _7, memanfaatkan 8 karakter khusus, yang akan cocok dengan karakter alfanumerik dan garis bawah. Menambahkan bilangan 9 langsung setelahnya akan cocok dengan nol atau lebih karakter dari 8Bagian penting lainnya dari pola pertama adalah bahwa flag 1 membuatnya menjadi pola case-insensitive. Jadi sekarang, setiap substring yang mengandung 2, terlepas dari kapitalisasinya, akan dicocokkan dan digantiCatatan. Pola _7 cukup luas dan juga akan mengubah 4 menjadi 5. Itu juga tidak dapat mengidentifikasi penggunaan kata yang sopan. Itu hanya cocok dengan karakternya. Meskipun demikian, kata-kata umpatan khas yang ingin Anda sensor sebenarnya tidak memiliki arti alternatif yang sopanPola regex kedua menggunakan rangkaian karakter dan bilangan untuk menggantikan stempel waktu. Anda sering menggunakan rangkaian karakter dan bilangan secara bersamaan. Pola regex _6, misalnya, akan cocok dengan satu karakter 7, 8, atau 9. Menempatkan _9 tepat setelahnya akan cocok dengan nol atau lebih karakter dari 7, 8, atau 9Namun, ada lebih banyak bilangan. Jika Anda menggunakan 4, itu akan sama persis dengan sepuluh karakter dari 7, 8 atau 9 dalam urutan dan kombinasi apa pun. Perhatikan juga bahwa pengulangan karakter itu mubazir, jadi 8 setara dengan 9Untuk stempel waktu, Anda menggunakan set karakter tambahan 0 untuk mencocokkan semua kemungkinan karakter yang mungkin Anda temukan di stempel waktu. Dipasangkan dengan quantifier 1, ini akan cocok dengan stempel waktu apa pun yang memungkinkan, setidaknya hingga tahun 10.000Catatan. Karakter khusus, _2, cocok dengan karakter angka apa punPola regex stempel waktu memungkinkan Anda untuk memilih kemungkinan tanggal dalam format stempel waktu. Mengingat waktunya tidak penting bagi peninjau independen transkrip ini, Anda menggantinya dengan string kosong. Dimungkinkan untuk menulis regex yang lebih canggih yang menyimpan informasi waktu sambil menghapus tanggal Pola regex ketiga digunakan untuk memilih string pengguna yang dimulai dengan kata kunci 3. Perhatikan bahwa Anda menghindari ( _4) tanda kurung siku ( 5) karena jika tidak, kata kunci akan ditafsirkan sebagai kumpulan karakterTerakhir, pola regex terakhir memilih string nama pengguna klien dan menggantinya dengan 6Catatan. Meskipun akan sangat menyenangkan untuk membahas lebih detail tentang pola regex ini, tutorial ini bukan tentang regex. Bekerja melalui tutorial regex Python untuk primer yang baik pada subjek. Juga, Anda dapat menggunakan situs web RegExr yang fantastis, karena regex itu rumit dan penyihir regex dari semua tingkatan bergantung pada alat praktis seperti RegExr RegExr sangat bagus karena Anda dapat menyalin dan menempel pola regex, dan itu akan memecahnya untuk Anda dengan penjelasan Dengan regex, Anda dapat secara drastis mengurangi jumlah penggantian yang harus Anda tulis. Meskipun demikian, Anda mungkin masih harus membuat banyak pola. Melihat regex bukan bahasa yang paling mudah dibaca, memiliki banyak pola dapat dengan cepat menjadi sulit dipertahankan Untungnya, ada trik rapi dengan 8 yang memungkinkan Anda untuk memiliki sedikit lebih banyak kontrol atas cara kerja penggantian, dan ini menawarkan arsitektur yang jauh lebih dapat dipeliharaHilangkan iklanGunakan Panggilan Balik Dengan >>> "Fake Python".replace("Fake", "Real") 'Real Python' _8 untuk Kontrol Lebih BanyakSalah satu trik yang dimiliki Python dan 3 adalah Anda dapat meneruskan fungsi callback alih-alih string pengganti. Ini memberi Anda kendali penuh atas cara mencocokkan dan menggantiUntuk mulai membuat versi skrip pembersih transkrip ini, Anda akan menggunakan pola regex dasar untuk melihat cara kerja callback dengan 3 _1Pola regex yang Anda gunakan akan cocok dengan stempel waktu, dan alih-alih memberikan string pengganti, Anda meneruskan referensi ke fungsi 1. Sekarang, ketika 3 menemukan kecocokan, itu akan memanggil 1 dengan objek kecocokan sebagai argumenKarena _1 baru saja mencetak objek yang diterima sebagai argumen, saat menjalankan ini, Anda akan melihat objek yang cocok dicetak ke konsol _2A adalah salah satu blok penyusun modul 2. Fungsi _6 yang lebih mendasar mengembalikan objek yang cocok. 3 tidak mengembalikan objek yang cocok tetapi menggunakannya di belakang layarKarena Anda mendapatkan objek yang cocok ini di callback, Anda dapat menggunakan informasi apa pun yang terkandung di dalamnya untuk membuat string pengganti. Setelah dibuat, Anda mengembalikan string baru, dan 3 akan mengganti kecocokan dengan string yang dikembalikanTerapkan Callback ke ScriptDalam skrip sanitasi transkrip Anda, Anda akan menggunakan metode 9 dari objek pencocokan untuk mengembalikan konten dari dua grup tangkapan, dan kemudian Anda dapat membersihkan setiap bagian dalam fungsinya sendiri atau membuangnya _3Alih-alih memiliki banyak regex yang berbeda, Anda dapat memiliki satu regex tingkat atas yang dapat mencocokkan seluruh baris, membaginya menjadi grup tangkap dengan tanda kurung ( 0). Grup tangkapan tidak berpengaruh pada proses pencocokan yang sebenarnya, tetapi mereka memengaruhi objek pencocokan yang dihasilkan dari pencocokan
Konten grup penangkap akan tersedia sebagai item terpisah dalam objek pencocokan dengan memanggil metode 9, yang mengembalikan Tuple dari string yang cocokCatatan. Definisi entri regex menggunakan penggabungan string implisit Python _4Secara fungsional, ini sama dengan menuliskan semuanya sebagai satu string tunggal. _7. Mengatur pola regex Anda yang lebih panjang pada baris terpisah memungkinkan Anda memecahnya menjadi potongan-potongan, yang tidak hanya membuatnya lebih mudah dibaca tetapi juga memungkinkan Anda untuk menyisipkan komentar jugaKedua grup tersebut adalah string pengguna dan pesan. Metode _9 mengembalikannya sebagai kumpulan string. Dalam fungsi _1, pertama-tama Anda menggunakan unpacking untuk menetapkan dua string ke variabel 5Perhatikan bagaimana arsitektur ini memungkinkan regex yang sangat luas dan inklusif di tingkat atas, lalu memungkinkan Anda melengkapinya dengan regex yang lebih tepat di dalam callback pengganti Fungsi _1 memanfaatkan dua fungsi untuk membersihkan nama pengguna dan kata-kata buruk. Itu juga menggunakan f-string untuk membenarkan pesan. Perhatikan bagaimana _01 menggunakan regex yang dibuat secara dinamis sementara 02 bergantung pada pemrosesan string yang lebih mendasarIni sekarang terlihat seperti prototipe pertama yang bagus untuk skrip pembersih transkrip. Outputnya sangat bersih _6Bagus. Menggunakan _3 dengan panggilan balik memberi Anda lebih banyak fleksibilitas untuk mencampur dan mencocokkan metode yang berbeda dan membangun regex secara dinamis. Struktur ini juga memberi Anda ruang paling besar untuk tumbuh ketika atasan atau klien Anda mau tidak mau mengubah persyaratan mereka terhadap AndaHilangkan iklanKesimpulanDalam tutorial ini, Anda telah mempelajari cara mengganti string dengan Python. Sepanjang jalan, Anda telah beralih dari menggunakan metode string 7 Python dasar menjadi menggunakan panggilan balik dengan 8 untuk kontrol absolut. Anda juga telah menjelajahi beberapa pola regex dan mendekonstruksinya menjadi arsitektur yang lebih baik untuk mengelola skrip penggantiDengan semua pengetahuan itu, Anda berhasil membersihkan transkrip obrolan, yang kini siap untuk ditinjau secara independen. Tidak hanya itu, skrip pembersih transkrip Anda memiliki banyak ruang untuk dikembangkan Kode sampel. Klik di sini untuk mengunduh kode sampel gratis yang akan Anda gunakan untuk mengganti string dengan Python Tandai sebagai Selesai π Trik Python π Dapatkan Trik Python singkat & manis yang dikirim ke kotak masuk Anda setiap beberapa hari. Tidak pernah ada spam. Berhenti berlangganan kapan saja. Dikuratori oleh tim Real Python Kirimi Saya Trik Python Β» Tentang Ian Currie Ian adalah kutu buku Python yang menggunakannya untuk segala hal mulai dari mengutak-atik hingga membantu orang dan perusahaan mengelola hari demi hari dan mengembangkan bisnis mereka Β» Lebih lanjut tentang IanSetiap tutorial di Real Python dibuat oleh tim pengembang sehingga memenuhi standar kualitas tinggi kami. Anggota tim yang mengerjakan tutorial ini adalah Aldren Geir Arne Kate Filipina Master Keterampilan Python Dunia Nyata Dengan Akses Tanpa Batas ke PythonΒ Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas pakarΒ Pythonista Tingkatkan Keterampilan Python Anda Β» Guru Keterampilan Python Dunia Nyata Bergabunglah dengan kami dan dapatkan akses ke ribuan tutorial, kursus video langsung, dan komunitas ahli Pythonista Tingkatkan Keterampilan Python Anda Β» Bagaimana menurut anda? Nilai artikel ini Tweet Bagikan Bagikan EmailApa takeaway # 1 Anda atau hal favorit yang Anda pelajari? Kiat Berkomentar. Komentar yang paling berguna adalah yang ditulis dengan tujuan belajar dari atau membantu siswa lain. dan dapatkan jawaban atas pertanyaan umum di portal dukungan kami Bagaimana Anda mengganti banyak string dalam daftar dengan Python?01) Menggunakan metode replace()
. Metode ganti mengembalikan objek baru (string) menggantikan bidang tertentu (karakter) dengan nilai baru.
Bagaimana Anda mengganti semua nilai dalam daftar?Di bawah ini adalah metode untuk mengganti nilai dalam daftar. . Menggunakan pengindeksan daftar Menggunakan untuk loop Menggunakan pengulangan while Menggunakan fungsi lambda Menggunakan daftar mengiris Bisakah Anda menggunakan Ganti dalam daftar Python?Anda dapat mengganti item dalam daftar Python menggunakan pengindeksan daftar, pemahaman daftar, atau for loop . Jika Anda ingin mengganti satu nilai dalam daftar, sintaks pengindeksan paling tepat. |