Tahukah Anda bahwa String adalah objek yang tidak dapat diubah di Python? . Oleh karena itu muncul kebutuhan untuk menggunakan fungsi yang berbeda agar dapat beroperasi pada string. Pada artikel ini, kita akan belajar cara mengganti banyak karakter dalam sebuah string dengan python Show
Sebelum melangkah lebih jauh, mari kita memoles sedikit pada Strings Apa itu String?Dalam Python, semuanya adalah objek. String juga merupakan objek Python, tetapi umumnya didefinisikan sebagai urutan karakter yang diapit di antara tanda kutip ( baik ' ' atau " " ). Karakter ini dapat berupa a-z, A-Z, 0-9, atau karakter khusus (seperti $, %) dan spasi putih (' ') Apa yang Anda maksud dengan Mengganti Banyak Karakter dalam sebuah String?Kebutuhan untuk mengganti beberapa karakter (mungkin satu atau lebih) dari sebuah string seringkali muncul saat menghadapi masalah. Namun pertanyaannya adalah, apa yang Anda pahami dengan mengganti banyak karakter dalam sebuah string? String memiliki banyak operasi yang harus dilakukan padanya. Namun saat kita mengatakan "mengganti karakter dalam string dengan Python", kasus berikut muncul di benak kita
Di sini Anda dapat mempelajari cara menghapus spasi dari string dengan python Anda pasti bertanya-tanya bagaimana kami dapat melakukan perubahan (di sini, mengganti karakter) pada string. String tidak dapat diubah, bukan? Ya, String tidak dapat diubah. Metode (Anda akan segera mengetahuinya) mengambil string asli sebagai input dan mengembalikan string yang diubah (setelah mengganti karakter) sebagai output. Output ini disimpan dalam variabel string lain. Oleh karena itu, kita perlu memiliki variabel lain (objek string) untuk menyimpan keluaran yang diperoleh. Dengan demikian, tidak ada perubahan yang dilakukan pada string asli, mempertahankan propertinya yang tidak dapat diubah Bagaimana Cara Mengganti Banyak Karakter dalam sebuah String dengan Python?Python menawarkan berbagai modul dan metode untuk mengganti banyak karakter dalam sebuah string. Sekarang, banyak karakter ini dapat terpisah atau bersama-sama sebagai 'kata'. Sementara kita berfokus untuk mengganti banyak karakter, metode ini juga dapat diterapkan untuk mengganti satu karakter dalam sebuah string dengan Python. Mari kita mulai 01) Menggunakan metode replace()Python menawarkan metode replace() untuk menangani penggantian karakter (tunggal atau ganda) dalam sebuah string. Metode ganti mengembalikan objek (string) baru yang menggantikan kolom (karakter) tertentu dengan nilai baru. Metode replace() mengambil dua parameter sebagai input, yang pertama adalah pola yang ingin Anda (cocokkan dalam string) untuk diganti dan parameter kedua adalah pola (karakter) yang ingin Anda ganti. Sintaks yang paling banyak digunakan untuk replace() adalah Obyek baru = originalString. replace('karakter untuk diganti', 'karakter untuk diganti dengan') Mari kita ambil contoh # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B") print("Original string: ", string) print("New string: ", changed_string)
Keluaran. Original string: Bubblegum New string: BuBBlegum_
Perhatikan bagaimana 'b' di string asli 'Bubblegum' diganti dengan 'B'. Ini adalah contoh mengganti beberapa kejadian dari satu karakter dalam sebuah string Metode replace() juga memiliki parameter ketiga (opsional) di mana Anda dapat menyebutkan jumlah penggantian yang ingin dilakukan Artinya, jika ada kata, misalnya, "Bubblegum" yang memiliki lebih dari satu kemunculan karakter, di sini 'b', maka kita dapat memasukkan parameter ketiga sebagai 1, seandainya kita hanya perlu mengganti satu 'b' dari Oleh karena itu, sintaks dasar untuk metode replace() adalah Obyek baru = originalString. replace('karakter yang akan diganti', 'karakter yang akan diganti, jumlah penggantian yang akan dilakukan) Mari kita lihat kode untuk contoh ini # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)
Secara default, semua kemunculan parameter pertama diganti dalam string Keluaran Original string: Bubblegum New string: BuBblegum
Perhatikan bagaimana hanya kemunculan pertama 'b' yang digantikan oleh 'B'. Ini terjadi karena jumlah penggantian yang akan dilakukan disetel ke 1 02) Menggunakan replace() dengan DaftarPada metode di atas, kita telah melihat penggunaan metode replace() untuk mengganti karakter tunggal (kejadian tunggal atau lebih) dengan karakter lain. Metode replace() juga dapat digunakan untuk mengganti banyak karakter (berbeda) dengan karakter lain (sama atau berbeda untuk masing-masing). Menggunakan for loop. Cara paling umum untuk bekerja dengan daftar adalah menggunakan for a loop. Untuk mengganti banyak karakter (misalkan berbeda) menggunakan metode replace() , Anda dapat membuat daftar semua karakter, yang akan dihapus, dalam daftar. Contoh cara mendeklarasikan daftar # multiple characters to be replace string = "FavTutor Blog: How to Remove multiple characters in a string in Python" # let's say we need to replace characters - 't', 'l', 'r' # creating a list for the characters to be replaced char_remov = ['t', 'l', 'r']_
Anda mungkin bertanya-tanya, mengapa kita membuat daftar atau bahkan menggunakan perulangan for ketika kita bisa langsung memanggil replace() pada setiap karakter Cukup sederhana, bukan? Tidak, tidak. Anda akan menemukan alasannya nanti di blog. (Jadi, perhatikan hal itu. ) Setelah menginisialisasi daftar, Anda dapat mengganti karakter yang disebutkan dengan karakter yang sama (mis. e. semuanya satu per satu) atau dengan banyak karakter (mis. e. karakter yang berbeda untuk masing-masing) Kasus. Mengganti beberapa karakter dengan karakter yang sama # multiple characters to be replace string = "FavTutor Blog: How to Remove multiple characters in a string in Python" # let's say we need to replace characters - 't', 'l', 'r' # creating a list for the characters to be replaced char_remov = ["t", "l", "r"] print("Original string: " + string) # let's say we need to replace them with a special character '#' # Using the for loop for each character of char_remov for char in char_remov: # replace() "returns" an altered string string = string.replace(char, "#") print("Altered string: " + string)
Anda akan melihat bagaimana saya menggunakan for loop untuk menguraikan string untuk 'setiap karakter' dalam daftar, untuk diganti dengan karakter lain (seperti "#"). Keluaran Original string: FavTutor Blog: How to Remove multiple characters in a string in Python Altered string: FavTu#o# B#og: How #o Remove mu##ip#e cha#ac#e#s in a s##ing in Py#hon_
Sekali lagi, perhatikan bahwa kami telah mengganti karakter yang akan diganti (elemen dalam daftar char_remov) dengan karakter yang sama ('#') di atas 03) Menggunakan replace() dengan KamusKita juga bisa menggunakan karakter yang berbeda untuk setiap karakter yang akan diganti. Untuk mencapai ini, Anda harus mengetahui kamus Apa itu Kamus dengan Python? . Ini adalah tipe data lain yang ditawarkan oleh Python, juga dianggap sebagai implementasi Python dari struktur data larik asosiatif. Ini bisa berubah dan tidak mengizinkan duplikat apa pun karena kunci hanya dapat memiliki satu nilai Kamus diwakili oleh. {} Contoh kamus dapat dilihat sebagai # example to declare a dictionary # dictionary = {'key' : value} # method 1 dictionary = {"FavTutor": "blogs", "language": "Python"} # accessing dictionary values value1 = dictionary.get("FavTutor") print("Values: ", value1, " in ", dictionary.get("language"))
Di atas adalah salah satu metode untuk mendeklarasikan kamus. Itu juga menunjukkan salah satu pendekatan untuk mendapatkan nilai dengan bantuan kunci Keluaran Values: blogs in Python
_
Sekarang setelah Anda mengetahui apa itu kamus dan bagaimana penggunaannya, mari kita kembali mengganti karakter dalam sebuah string. Mari pertimbangkan contoh yang sama yang digunakan sebelumnya tetapi ganti setiap karakter dengan karakter yang berbeda. (Mari kita coba menggantinya dengan bentuk huruf besar. Ini akan mudah diperhatikan. ) Kasus. Mengganti banyak karakter dengan karakter berbeda dalam sebuah string dengan Python # multiple characters to be replaced string = "Favtutor Blog: How to Remove multiple characters in a string in Python" # characters to be replaced - 't', 'l', 'r', 's' # characters to replace with -'T', 'L', 'R', 'S' print("Original string: ", string) """ creating a dictionary to replace characters key - character to be replaced value - character to replace with """ to_remov = {"t": "T", "l": "L", "r": "R", "s": "S"} # .keys() returns a list of all the keys in the dictionary for char in to_remov.keys(): # dictionaryName[keys] - another way to get value string = string.replace(char, to_remov[char]) print("Altered string: " + string)_
Penggunaan kamus memudahkan untuk mengubah setiap karakter menjadi karakter yang berbeda dengan bantuan key-value pair. Meskipun Anda dapat menggunakan kamus untuk mengganti beberapa karakter dengan satu karakter, penggunaannya tidak disarankan untuk melakukannya (karena itu tidak perlu) Keluaran Original string: Bubblegum New string: BuBBlegum_0
Saya harap Anda telah menemukan jawaban atas pertanyaan kami. 'Mengapa kita perlu menggunakan loop?' Nah, karena kita perlu mengganti banyak karakter dalam sebuah string, kebutuhan akan sebuah loop benar-benar terbukti. Kita dapat memanggil metode replace() untuk setiap karakter yang akan dihapus, tetapi berapa lama Anda akan mengulangi prosesnya? Selain itu, lebih sulit melacak daftar panjang karakter yang akan diganti. Oleh karena itu, dengan membuat daftar (atau membuat kamus) karakter yang akan diganti, mudah bagi kami untuk mengakhiri proses pengulangan yang panjang dengan bantuan loop. Ingat itu. Ini cukup mendasar tetapi sering terjadi dalam wawancara Metode replace() adalah metode paling umum untuk mengganti karakter apa pun dalam sebuah string. Anda dapat menggunakan salah satu versi di atas untuk mengganti banyak karakter dalam sebuah string dengan Python. Ada simbol khusus (seperti '. ') yang juga dapat digunakan dengan ekspresi. Penggunaan karakter atau pola khusus untuk menggantikan ini terlibat dalam ekspresi reguler (atau RegEx) 04) Menggunakan modul ulangPython menawarkan 're module' untuk memberikan kemudahan saat bekerja dengan ekspresi Reguler. Anda harus tahu bahwa ekspresi reguler adalah urutan karakter yang membentuk pola pencarian. Karenanya, ekspresi reguler pada dasarnya adalah string. Anda juga dapat mengganti banyak karakter dalam sebuah string dengan bantuan 're module' Pada dasarnya ada dua cara untuk mengganti karakter
Sebelum beralih ke metode ini, mari pelajari tentang fungsi sub() Fungsi sub() dalam modul re. Modul re di Python menawarkan fungsi sub() yang menggantikan karakter yang cocok (karakter yang diberikan dalam string) dengan karakter (baru) yang diberikan. Ini mengembalikan string dengan karakter baru di tempatnya. Perhatikan bahwa Anda perlu mengimpor modul re untuk menggunakan fungsi sub() Sintaks dasar untuk fungsi sub() adalah string baru = re. sub( 'characterToBeReplaced', 'characterToReplaceWith', stringName ) Mari kita ambil contoh untuk memahami cara kerja fungsi sub() Kasus. Mengganti satu karakter dengan karakter lain dalam sebuah string Original string: Bubblegum New string: BuBBlegum_1
Huruf 't' di sini juga dianggap sebagai ekspresi reguler. Perhatikan juga bahwa, tidak seperti metode replace(), nama string diteruskan sebagai parameter input ke sub fungsi Keluaran Original string: Bubblegum New string: BuBBlegum_2
Fungsi sub() mencari string untuk pola (karakter) dan kemudian mengganti kecocokan (pola) dengan karakter baru. Ini mengembalikan string baru dengan perubahan yang dilakukan. Perhatikan bahwa Anda juga dapat menentukan jumlah penggantian yang akan terjadi, dengan meneruskan parameter "jumlah" di bagian akhir. Oleh karena itu, sintaks dasar sub akan menjadi string baru = re. sub('charactersToBeReplaced', 'characterToReplaceWith' , stringName, count ) Sekarang, mari beralih ke mengganti banyak karakter menggunakan fungsi sub(), dengan bantuan karakter khusus Ingatlah bahwa karakter meta adalah karakter dengan arti khusus (misalnya - '. ' untuk 'salah satu atau') dan urutan khusus seperti '\s' untuk spasi putih. Karakter meta atau urutan khusus ini dapat digunakan untuk mengganti banyak karakter dalam sebuah string Mari perhatikan contoh di bawah ini Kasus. Mengganti banyak karakter dalam sebuah string dengan satu karakter, menggunakan urutan khusus dan karakter meta Original string: Bubblegum New string: BuBBlegum_3
Perhatikan bahwa saya telah menggunakan urutan khusus ('\s') serta karakter meta ('. ') pada contoh di atas Keluaran Original string: Bubblegum New string: BuBBlegum_4
Ini adalah cara lain untuk mengganti banyak karakter menggunakan fungsi sub(). Namun cara ini bisa digunakan hingga jumlah karakter yang akan diganti dibatasi hanya beberapa saja. Sama seperti sebelumnya, kita perlu menggunakan loop untuk bekerja dengan mengganti banyak karakter (lebih dari beberapa). Fungsi sub() juga dapat digunakan dengan daftar serta kamus. Mari kita ambil contoh penggunaan fungsi sub() dengan kamus Kasus. Mengganti beberapa karakter dalam sebuah string dengan karakter yang berbeda menggunakan kamus Original string: Bubblegum New string: BuBBlegum_5
Urutan karakter (dirujuk dengan nama variabel 'char' dan nilai dalam kamus) adalah ekspresi reguler. Keluaran Original string: Bubblegum New string: BuBBlegum_0
Selain fungsi sub(), modul re juga menawarkan fungsi subn(), mirip dengan fungsi sub(). Satu-satunya perbedaan adalah fungsi subn() juga menyediakan jumlah penggantian yang dibuatnya dalam string. Selain itu, fungsi sub() juga dapat digunakan dengan fungsi "lambda". Anda harus mencoba menggunakan fungsi di atas. Mereka mungkin mengarahkan Anda ke hasil yang diinginkan 05) Menggunakan translate() dan maketrans()Metode yang dibahas sejauh ini melibatkan ekspresi reguler dan dapat digunakan dengan daftar dan kamus. Namun, Python menawarkan metode lain yang menggunakan kamus untuk memetakan nilai lama ke nilai baru, dan karenanya mengganti banyak karakter dalam sebuah string Metode maketrans() menghasilkan tabel pemetaan (kamus) antara karakter asli dan penggantinya. Lihat contoh di bawah ini Original string: Bubblegum New string: BuBBlegum_7
Metode maketrans() membuat tabel (kamus) yang memetakan nilai lama dengan nilai baru Keluaran Original string: Bubblegum New string: BuBBlegum_8
Perhatikan bahwa kamus (dikembalikan oleh maketrans()) menyimpan nilai ASCII dari karakter, (keduanya, untuk diganti dan diganti dengan) Fungsi translate() menerima tabel yang dibuat oleh maketrans() dan menghasilkan string yang diterjemahkan. Lihatlah contoh di bawah ini untuk mengganti banyak karakter dalam sebuah string dengan Python Original string: Bubblegum New string: BuBBlegum_9
Keluaran # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)0
Ini adalah contoh lain untuk mengganti banyak karakter dalam sebuah string menggunakan kamus. Anda dapat menggunakan metode di atas untuk semua kasus yang disebutkan di atas Perbandingan antara metode translate() dan replace()Metode translate() dan metode replace(), keduanya adalah fungsi bawaan di Python, untuk mengganti banyak karakter dalam sebuah string. Anda dapat menggunakan salah satunya untuk melakukan tugas. Berikut perbandingan kedua metode tersebut 1. Metode translate() hanya mengganti karakter tunggal dengan string arbitrer sedangkan metode replace() memungkinkan penggantian string dengan panjang arbitrer. Sebagai contoh # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)1
Keluaran # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)2
Perhatikan kesalahan yang diperoleh saat memanggil metode maketrans(). Kesalahan ini terjadi karena perbedaan panjang karakter (atau jumlah karakter) yang akan diganti dan karakter yang akan diganti. Sekarang, mari kita lihat bagaimana metode replace() bekerja dengan case # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)_3
Metode replace() memperlakukan parameter input 'mit' sebagai string secara keseluruhan daripada memperlakukannya sebagai urutan karakter individual. Juga, panjang sembarang parameter tidak harus sama Keluaran # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)_4
Oleh karena itu, Anda akan melihat bahwa alih-alih mengganti 'm', 'i', 't', metode replace() hanya menggantikan kombinasi 'mit' dengan 'M' 2. Metode translate() dapat melakukan penggantian "banyak karakter" pada satu panggilan sedangkan metode replace() hanya dapat mengganti "string tunggal" sekaligus 3. Metode translate() dapat digunakan jika Anda tidak yakin apakah karakter baru (karakter yang akan diganti) juga diganti Sulit? Misalnya, pertimbangkan sebuah string, ucapkan 'abcd'. Sekarang, Anda perlu mengganti karakter 'a' dengan 'b', 'b' dengan 'c', dan 'c' dengan 'd' Singkatnya, input = 'abcd' dan output yang diharapkan = 'bcdd' Mari bandingkan kedua metode pada input di atas # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)5
Perhatikan perbedaan antara output yang dikembalikan oleh kedua metode Keluaran # Using replace() method string = "Bubblegum" # replacing the 'b' character with 'B' changed_string = string.replace("b", "B", 1) print("Original string: ", string) print("New string: ", changed_string)6
Kedua metode tersebut menghasilkan output yang berbeda. Anda pasti bertanya-tanya "bagaimana", bukan? Ini terjadi karena metode replace() dilakukan dalam satu lingkaran, satu demi satu. Mari buat daftar perubahan untuk pemahaman yang lebih baik a. Masukan = 'abcd' b. Ganti 'a' dengan 'b' => string = 'bbcd' c. Ganti 'b' dengan 'c' => string = 'cccd' d. Ganti 'c' dengan 'd' => 'dddd' Oleh karena itu outputnya = 'dddd' Jadi, dalam hal ini, metode translate() bertemu menghasilkan hasil yang diharapkan Oleh karena itu, saat membandingkan kedua metode, Anda akan melihat bahwa Anda harus menggunakan metode translate() untuk mengganti beberapa karakter karena meningkatkan fungsionalitas. Walaupun metode replace() memiliki kelebihan tersendiri dalam optimasi waktu Juga, periksa bagaimana mengganti satu karakter dalam sebuah string dengan python KesimpulanPada artikel ini, kita melihat bagaimana menggunakan fungsi bawaan Python untuk mengganti beberapa karakter dalam sebuah string. Tugas ini juga dapat dilakukan dengan menggunakan variasi loop yang berbeda pada string. Kami juga telah membandingkan metode dengan kasus penggunaan yang berbeda. Saya harap artikel ini membantu Anda menemukan metode yang cocok untuk kode Anda. Selamat mengkode Bagaimana Anda mengganti beberapa kemunculan string dengan Python?01) Menggunakan metode replace()
. Metode ganti mengembalikan objek baru (string) menggantikan bidang tertentu (karakter) dengan nilai baru.
Bagaimana Anda mengganti semua kemunculan karakter dalam sebuah string?Gunakan metode replace() untuk mengganti semua kemunculan karakter tertentu dalam sebuah string.
Apakah ganti () ganti semua instance Python?replace() menerima. Secara default,. replace() akan menggantikan semua instance dari substring . Namun, Anda dapat menggunakan hitungan untuk menentukan jumlah kejadian yang ingin diganti.
Bagaimana Anda mengganti kemunculan string dengan Python?Sintaksis dari replace() . Sintaksis. rangkaian. ganti (lama, baru, hitung) Parameter Nilai Pengembalian. Ini mengembalikan salinan string di mana semua kemunculan substring diganti dengan substring lain |