Di postingan ini, Anda akan belajar cara menggunakan Python untuk menghapus karakter dari sebuah string. Anda akan belajar bagaimana melakukan ini dengan metode Python .replace() serta metode Python .translate(). Terakhir, Anda akan belajar cara membatasi berapa banyak karakter yang dihapus (katakanlah, jika Anda hanya ingin menghapus x jumlah kemunculan karakter pertama)
Jawaban Cepat. Gunakan tali. mengganti()
Daftar isi
Mengapa Menghapus Karakter dari String dengan Python?
Saat Anda mengunduh data dari berbagai sumber, Anda akan sering menerima data yang sangat berantakan. Sebagian besar waktu Anda akan dihabiskan untuk membersihkan data tersebut dan menyiapkannya untuk analisis. Bagian dari persiapan data itu akan membersihkan string Anda dan mungkin melibatkan penghapusan karakter tertentu
Karena ini merupakan tantangan yang sangat umum, tutorial ini dikembangkan untuk membantu Anda dalam perjalanan menuju analisis data yang lebih mudah. Mari kita mulai
Gunakan Fungsi Ganti untuk Menghapus Karakter dari String dengan Python
Python hadir dengan sejumlah metode string. Salah satu metode ini adalah metode .replace() yang memungkinkan Anda mengganti bagian string Anda. Mari kita lihat sekilas bagaimana metode ini ditulis
Saat Anda menambahkan .replace()_ ke string, Anda mengidentifikasi parameter berikut
- old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!_0. string yang ingin Anda ganti,
- old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!_1. string yang ingin Anda ganti, dan
- old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!_2. jumlah penggantian yang ingin Anda lakukan
Sekarang setelah Anda mempelajari bagaimana metode .replace() ditulis dengan Python, mari kita lihat sebuah contoh. Anda akan diberi string dan ingin menghapus semua old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!4 karakter tanda dalam string
old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!_Mari kita lihat apa yang telah kita lakukan di sini untuk menghapus karakter dari sebuah string dengan Python
- Kami menerapkan. old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!_5 metode untuk string kami, old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!6
- Kami menunjukkan bahwa kami ingin mengganti old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!_4 karakter dengan string kosong
- Kami menugaskan string yang baru dimodifikasi ini ke variabel old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!8
Anda bisa lihat di sini, betapa mudahnya menghapus karakter dari sebuah string dengan Python
Sekarang mari belajar bagaimana menggunakan metode Python string .translate() untuk melakukan hal ini
Gunakan Fungsi Terjemahkan untuk Menghapus Karakter dari String dengan Python
Mirip dengan contoh di atas, kita dapat menggunakan metode Python string .translate() untuk menghapus karakter dari sebuah string
Metode ini sedikit lebih rumit dan, umumnya, metode .replace() adalah pendekatan yang lebih disukai. Alasannya adalah Anda perlu menentukan tabel terjemahan sebelum benar-benar dapat mengganti apa pun. Karena langkah ini seringkali berlebihan dan membosankan karena hanya mengganti satu karakter. Karena itu, kita dapat menggunakan fungsi ord() untuk mendapatkan nilai Unicode karakter untuk menyederhanakan proses ini
Mari kita lihat bagaimana ini bisa dilakukan dengan contoh yang sama seperti di atas
Mari jelajahi apa yang telah kita lakukan di sini
- Kami menggunakan fungsi old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.translate({ord('?'):None}) print(new_string) # Returns: hello, my name is nik!_2 untuk mengembalikan nilai Unicode untuk karakter apa pun yang ingin kami ganti
- Kami memetakan ini ke nilai old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.translate({ord('?'):None}) print(new_string) # Returns: hello, my name is nik!_3 untuk memastikannya menghapusnya
Anda dapat melihat di sini bahwa ini sedikit lebih rumit daripada metode sebelumnya yang Anda pelajari
Hapus Hanya n Jumlah Karakter dari sebuah String dengan Python
Mungkin ada kalanya Anda hanya ingin menghapus sejumlah karakter tertentu dari sebuah string dengan Python. Untungnya, metode Python .replace() memungkinkan kita melakukan ini dengan mudah menggunakan parameter old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!2. Dengan memasukkan angka bukan nol ke dalam parameter ini, kita dapat menentukan berapa banyak karakter yang ingin kita hapus dengan Python
Ini bisa sangat membantu ketika Anda menerima string di mana Anda hanya perlu menghapus iterasi pertama dari sebuah karakter, tetapi yang lain mungkin valid
Mari kita lihat sebuah contoh
old_string = 'h?ello, my name is nik! how are you?' new_string = old_string.replace('?', '', 1) print(new_string) # Returns: hello, my name is nik! how are you?Kita dapat melihat di sini bahwa dengan melewati old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.translate({ord('?'):None}) print(new_string) # Returns: hello, my name is nik!6, hanya penggantian pertama yang dilakukan. Karena itu, kami hanya dapat menghapus satu karakter dalam string Python kami
Hapus Banyak Karakter dari sebuah String dengan Python
Mungkin juga ada saatnya Anda ingin mengganti beberapa karakter berbeda dari sebuah string dengan Python. Meskipun Anda bisa saja merantai metodenya, ini tidak perlu berulang dan sulit dibaca
Mari kita lihat bagaimana kita dapat mengulang string karakter yang berbeda untuk menghapus karakter tersebut dari string dengan Python
Alasan mengapa kita tidak perlu mengulang daftar string adalah karena string itu sendiri dapat diubah. Kami dapat memberikan daftar karakter, tetapi kami tidak perlu melakukannya. Mari kita lihat contoh di mana kita ingin mengganti karakter old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.replace('?', '') print(new_string) # Returns: hello, my name is nik!4 dan old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.translate({ord('?'):None}) print(new_string) # Returns: hello, my name is nik!8 dari string asli kita
a_string = 'h?ello, my name is nik! how are you?' for character in '!?': a_string = a_string.replace(character, '') print(a_string) # hello, my name is nik how are youSatu hal yang akan Anda perhatikan di sini adalah kita mengganti string dengan dirinya sendiri. Jika kami tidak melakukan ini (dan, lebih tepatnya, mengganti string dan menugaskannya ke variabel lain), kami hanya akan mengganti satu karakter pada akhirnya.
Kami juga dapat melakukannya dengan menggunakan perpustakaan ekspresi reguler old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.translate({ord('?'):None}) print(new_string) # Returns: hello, my name is nik!9. Kami dapat mengirimkan sekelompok karakter untuk menghapus dan menggantinya dengan string kosong
Mari kita lihat bagaimana kita bisa melakukan ini
import re old_string = 'h?ello, my name is nik! how are you?' new_string = re.sub('[!?]', '', old_string) print(new_string) # Returns: hello, my name is nik how are youApa yang telah kita lakukan di sini adalah meneruskan string yang berisi kelas karakter, yang berarti itu akan mengambil karakter apa pun yang terkandung dalam tanda kurung siku old_string = 'h?ello, my name is nik! how are you?' new_string = old_string.replace('?', '', 1) print(new_string) # Returns: hello, my name is nik! how are you?0
Pustaka old_string = 'h?ello, m?y? name? is ?nik!' new_string = old_string.translate({ord('?'):None}) print(new_string) # Returns: hello, my name is nik!_9 memudahkan untuk meneruskan sejumlah karakter berbeda yang ingin Anda ganti dan menghilangkan kebutuhan untuk menjalankan perulangan for. Ini bisa lebih efisien seiring bertambahnya panjang string Anda
Kesimpulan
Dalam posting ini, Anda belajar cara menghapus karakter dari string dengan Python menggunakan metode string .replace(), metode string .translate(), serta menggunakan ekspresi reguler di ________10______9