Gunakan for-loop untuk mengulangi setiap karakter dan memanggil str. ganti [lama, baru] dengan lama sebagai karakter dan baru sebagai "" untuk menggantinya
a_string = "![Hello World]@"
remove = "![]@"
for char in remove:
a_string = a_string.replace[char, ""]
print[a_string]
Keluaran
Gunakan kembali. sub[]
Gunakan penggabungan string untuk menambahkan "[" ke depan string dari beberapa karakter dan "[" ke belakang string. Hubungi kembali. sub[pola, ganti, string] dengan pola
Anda harus mengimpor modul "re" untuk itu
import re
a_string = "![Hello World]@"
remove = "![]@"
pattern = "[" + remove + "]"
new_string = re.sub[pattern, "", a_string]
print[new_string]
_Keluaran. Halo Dunia
Beri komentar jika Anda memiliki keraguan dan saran tentang kode karakter Python ini
Catatan. IDE. PyCharm 2021. 3. 3 [Edisi Komunitas]
Windows 10
Piton 3. 10. 1
Semua Contoh Python ada di Python 3, jadi Mungkin berbeda dari python 2 atau versi yang ditingkatkan
Rohit
Gelar dalam Ilmu Komputer dan Insinyur. Pengembang Aplikasi dan memiliki banyak pengalaman bahasa Pemrograman. Antusias terhadap teknologi & suka belajar teknis
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
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
- Mengganti karakter dalam String dengan karakter lain. Misalnya, katakanlah kita memiliki string "Favtutor" dan kita ingin mengganti kemunculan pertama 't' dengan 'T'. Sekarang, karena kita hanya mengganti 't' dengan 'T' yang lain, ini dikenal sebagai mengganti satu karakter dalam sebuah string
- Mengganti Semua kemunculan karakter dalam String dengan karakter lain. Mari kita ambil contoh di atas, katakanlah Anda ingin mengganti kemunculan "t" dalam string "Favtutor" dengan 'T'. Ini akan menghasilkan string. "FavTuTor". Karenanya, ini menggantikan semua kemunculan karakter dalam sebuah string. [Anda selalu dapat memberikan jumlah kemunculan, dari karakter itu, yang ingin Anda ganti]
- Mengganti Banyak Karakter dalam sebuah String dengan karakter yang 'sama'. Misalnya, Anda memiliki string "Halo dunia" dan Anda ingin mengganti karakter, ucapkan "l" dan "o", dengan karakter lain, ucapkan '. '. Ini akan mengakibatkan. "Dia. W. r. d". Ini adalah contoh mengganti banyak karakter dalam sebuah string dengan satu karakter [sama].
- Mengganti Banyak Karakter dalam sebuah String dengan Karakter Lain [berbeda]. Sebagai contoh, Mari ambil pernyataan, "String tidak dapat diubah". Anda perlu mengganti karakter, misalnya ['r', 'm', 'i'], dengan, mari kita ambil ['R', '. ', 'M'], dalam urutan masing-masing, i. e. 'r' diganti dengan 'R', "M" diganti dengan '. ' dan 'i' diganti dengan 'M'. Oleh karena itu, ini akan menghasilkan "StRMngs aRe M. dapat digunakan". Terkadang, grup dari banyak karakter ini juga dapat disebut sebagai 'SubString'
- Menghapus karakter dalam string. Sebagai contoh, mari pertimbangkan string "Fav Tutor". Sekarang, katakanlah Anda perlu menghapus spasi kosong [' '] antara 'Fav' dan 'Tutor'. Anda dapat menghapus ruang kosong ini dengan menggantinya dengan [""]. Oleh karena itu, output di sini akan menjadi. "Tutor Favorit"
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 dengan 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 Daftar
Pada 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 Kamus
Kita 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: BuBBlegum0
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 ulang
Python 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
- Menggunakan fungsi sub[] dengan karakter meta atau urutan khusus
- Menggunakan fungsi sub[] dengan daftar dan kamus
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: BuBBlegum1
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: BuBBlegum2
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: BuBBlegum5
Urutan karakter [dirujuk dengan nama variabel 'char' dan nilai dalam kamus] adalah ekspresi reguler.
Keluaran
Original string: Bubblegum New string: BuBBlegum0
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: BuBBlegum8
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
Kesimpulan
Pada 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