Ganti String dengan Python | Ganti String Python [2022]
Diterbitkan: 2021-01-02Mengganti karakter dan string dengan Python adalah tugas penting dalam hal Pembersihan Data atau Pemrosesan Teks. Data Anda mungkin memiliki masalah pemformatan dengan karakter sampah yang perlu dihapus, kategori mungkin mengalami masalah ejaan, dll. Juga saat prapemrosesan teks untuk masalah berbasis NLP, penggantian string adalah langkah paling dasar dan penting saat menyiapkan data tekstual.
Dalam tutorial ini, kita akan membahas beberapa cara untuk mengganti berbagai jenis string. Jika Anda tertarik untuk masuk ke ilmu data, lihat sertifikasi ilmu data kami. Pada akhir tutorial ini, Anda akan memiliki pengetahuan tentang hal-hal berikut:
- Python ganti () metode
- Metode sub() ekspresi reguler
- gabung() dan filter()
- Mengganti data numerik dalam string
Daftar isi
ganti python()
Metode replace(old_str, new_str, count) terdiri dari 3 argumen:
- old_str: String atau bagian dari string yang perlu diganti
- new_str: String yang dengannya string lama perlu diganti
- count: Hitungan berapa kali string tertentu perlu diganti
Mari kita membahas beberapa contoh untuk memahami cara kerjanya.
Pengganti tunggal
Mystr = “Ini adalah contoh string” Newstr = Mystr.replace( 'adalah' , 'dulu' ) |
#Keluaran: Itu adalah contoh string |
Jika Anda ingat, String dalam Python tidak dapat diubah. Jadi ketika kita memanggil metode replace, itu pada dasarnya membuat objek string lain dengan data yang dimodifikasi. Selain itu, kami tidak menentukan parameter count dalam contoh di atas. Jika tidak ditentukan, metode replace akan menggantikan semua kemunculan string.
Banyak ganti
Mystr = “Ini adalah contoh string” Newstr = Mystr.replace( “s” , “X” ) |
#Keluaran: ThiX iX a Xample Xtring |
Beberapa ganti pertama n kejadian
Jika Anda hanya ingin N kemunculan pertama,
Mystr = “Ini adalah contoh string” Newstr = Mystr.replace( “s” , “X” , 3 ) |
#Keluaran: ThiX iX a Xample string |
Beberapa string menggantikan
Dalam contoh di atas, kami mengganti satu string beberapa kali. Sekarang bagaimana jika Anda ingin mengganti string yang berbeda dalam string besar yang sama. Kita dapat menulis fungsi yang efektif untuk itu dan menyelesaikannya menggunakan metode yang sama.
Perhatikan contoh seperti di atas, tetapi sekarang kita ingin mengganti “h”, “is” dan “ng” dengan “X”.
def MultipleStrings (mainStr, strReplaceList, newStr) : # Iterasi pada string yang akan diganti untuk elem di strReplaceList : # Memeriksa apakah string ada di string utama jika elemen di mainStr : # Ganti talinya mainStr = mainStr.replace(elem, newStr) kembali mainStr |
Mystr = “Ini adalah contoh string” Newstr = MultipleStrings(Mystr, [ 'h' , 'is' , 'ng' ] , “X” ) |
#Keluaran: TXX X contoh striX |
Baca: Tutorial Python
Mengganti dengan regex
Regex Python adalah modul khusus untuk menangani data teks – baik itu menemukan substring, mengganti string, atau apa pun. Regex memiliki fungsi sub() untuk menemukan dan mengganti/mengganti substring dengan mudah. Mari kita bahas sintaksnya dan beberapa kasus penggunaan.
Fungsi regex.sub(pattern, replacement, original_string) membutuhkan 3 argumen:
- pola: substring yang perlu dicocokkan dan diganti.
- pengganti: dapat berupa string yang perlu ditempatkan, atau fungsi yang dapat dipanggil yang mengembalikan nilai yang perlu ditempatkan.
- original_string: string utama di mana substring harus diganti.
Sama seperti metode replace, regex juga membuat objek string lain dengan string yang dimodifikasi. Mari kita membahas beberapa contoh kerja.
Menghapus spasi putih
Spasi putih dapat diperlakukan sebagai karakter khusus dan diganti dengan karakter lain. Dalam contoh di bawah ini, kami bermaksud mengganti spasi putih dengan "X".
impor ulang Mystr = “Ini adalah contoh string” # Ganti semua spasi putih di Mystr dengan 'X' Newstr = re.sub( r”\s+” , 'X' , Mystr) |
#Keluaran: IniXisXaXsampleXstring |
Seperti yang kita lihat, semua spasi telah diganti. Pola diberikan oleh r”\s+” yang berarti semua karakter spasi.
Menghapus semua karakter khusus
Untuk menghapus semua karakter khusus, kami akan melewati pola yang cocok dengan semua karakter khusus.
impor ulang impor string Mystr = “Tempo@@&[(000)]%%$@@66isit$$#$%-+Str” pola = r'[' + string.punctuation + ']' # Ganti semua karakter khusus dalam string dengan X Newstr = re.sub(pola, 'X' , Mystr) |
#Keluaran: TempoXXXXX000XXXXXXX66isiXXXXXXXStr |
Menghapus substring karena tidak peka huruf besar-kecil

Dalam data kehidupan nyata, mungkin ada kasus di mana mungkin ada banyak versi dari kata yang sama dengan karakter huruf besar dan kecil yang berbeda. Untuk menghapus semuanya, menempatkan semua kata secara terpisah sebagai pola tidak akan efektif. Fungsi regex sub() mengambil flag re.IGNORECASE untuk mengabaikan kasus. Mari kita lihat cara kerjanya.
impor ulang Mystr = “Ini adalah contoh Istring” # Ganti substring dalam string dengan pendekatan case-insensitive Newstr = re.sub( r'is' , '**' , Mystr, flags=re.IGNORECASE) |
#Keluaran: Th** ** contoh **tring |
Menghapus banyak karakter menggunakan regex
Fungsi regex dapat dengan mudah menghapus banyak karakter dari sebuah string. Di bawah ini adalah contoh.
impor ulang Mystr = “Ini adalah contoh string” pola = r'[hsa]' # Hapus karakter 'h', 's' dan 'a' dari string Newstr = re.sub(pola, ” , Mystr) |
#Keluaran: Ti saya mple tring |
Mengganti menggunakan join()
Cara lain untuk menghapus atau mengganti karakter adalah dengan mengulangi string dan memeriksanya dengan beberapa kondisi.
charList = [ 'h' , 's' , 'a' ] Mystr = “Ini adalah contoh string” # Hapus semua karakter dalam daftar, dari string Newstr = ” .join((elem untuk elem di Mystr jika elem tidak ada di charList)) |
#Keluaran: Ti saya mple tring |
Mengganti menggunakan join() dan filter()
Contoh di atas juga dapat dilakukan dengan menggunakan fungsi filter.
Mystr = “Ini adalah contoh string” charList = [ 'h' , 's' , 'a' ] # Hapus semua karakter dalam daftar, dari string Newstr = “” .join(filter( lambda k: k tidak ada di charList , Mystr)) |
#Keluaran: Saya cukup mencoba |
Wajib Dibaca: Aplikasi Python yang Menarik di Dunia Nyata
Mengganti angka
Sering kali data numerik juga ada dalam string yang mungkin perlu dihapus dan diproses secara terpisah sebagai fitur yang berbeda. Mari kita membahas beberapa contoh untuk melihat bagaimana ini dapat diterapkan.
Menggunakan ekspresi reguler
Pertimbangkan string di bawah ini dari mana kita perlu menghapus data numerik.
Mystr = “Contoh string9211 tahun 20xx” pola = r'[0-9]' # Cocokkan semua digit dalam string dan ganti dengan string kosong Newstr = re.sub(pola, “” , Mystr) |
#Keluaran: Contoh string tahun xx |
Dalam kode di atas, kami menggunakan pola pencocokan r'[0-9]' untuk mencocokkan semua digit.
Menggunakan fungsi join()
Kami juga dapat mengulangi string dan menyaring angka menggunakan metode isdigit() yang mengembalikan False untuk alfabet.
Mystr = “Contoh string9211 tahun 20xx” # Mengulangi karakter dalam string dan menggabungkan semua karakter kecuali angka Newstr = “” .join((item untuk item di Mystr jika bukan item.isdigit())) |
#Keluaran: Contoh string tahun xx |
Menggunakan join() dan filter()
Demikian pula, kami juga dapat menempatkan kondisi pemfilteran dalam fungsi filter untuk hanya mengembalikan karakter yang mengembalikan True .
Mystr = “Contoh string9211 tahun 20xx” # Saring semua digit dari karakter dalam string & gabungkan karakter yang tersisa Newstr = “” .join(filter( lambda item: bukan item.isdigit(), Mystr)) |
#Keluaran: Contoh string tahun xx |
Sebelum kamu pergi
Kami membahas banyak contoh yang menunjukkan cara berbeda untuk menghapus atau mengganti karakter/spasi putih/angka dari sebuah string. Kami sangat menyarankan Anda untuk mencoba lebih banyak contoh dan cara berbeda untuk melakukan contoh di atas dan juga lebih banyak contoh Anda sendiri.
Jika Anda penasaran untuk belajar tentang python, ilmu data, lihat Program PG Eksekutif IIIT-B & upGrad dalam Ilmu Data yang dibuat untuk para profesional yang bekerja dan menawarkan 10+ studi kasus & proyek, lokakarya praktis, bimbingan dengan pakar industri , 1-on-1 dengan mentor industri, 400+ jam pembelajaran dan bantuan pekerjaan dengan perusahaan-perusahaan top.
Apa perlunya metode penggantian string dengan Python?
Fungsi ini menjadi sangat berguna ketika Anda menerapkan teknik pembersihan data padanya. Karakter yang tidak perlu atau sampah dapat dengan mudah dihapus menggunakan fungsi ini. Mengganti string atau karakter tidak hanya digunakan dalam pembersihan data tetapi juga dalam pemrosesan masalah NLP.
Memiliki jenis metode ini untuk menangani string adalah penting karena seluruh bidang ilmu data berurusan dengan sejumlah besar data.
Apa keuntungan menggunakan tipe data string?
String berguna karena Anda dapat menyimpan data dalam jumlah besar dengan mudah menggunakan tipe data ini. Python mendukung sejumlah metode yang berguna untuk melakukan operasi pada string. Selain itu, string dapat diubah dalam Python yang mengurangi pembuatan kesalahan dan juga lebih murah.
String adalah salah satu tipe data bawaan yang paling banyak digunakan di Python. Tidak hanya dalam python, tetapi banyak bahasa lain juga mendukung ini sebagai tipe data yang telah ditentukan sebelumnya dan mendukung berbagai metode untuk mengoperasikannya.