Bagaimana Anda mengganti semua kemunculan substring dengan python?

❮ Metode Untaian


Contoh

Ganti kata "pisang"

txt = "Saya suka pisang"

x = txt. ganti ("pisang", "apel")

cetak(x)

Cobalah sendiri "


Definisi dan Penggunaan

Metode replace()_ menggantikan frase tertentu dengan frase lain yang ditentukan

Catatan. Semua kemunculan frasa yang ditentukan akan diganti, jika tidak ada lagi yang ditentukan


Sintaksis

rangkaian. ganti (nilai lama, nilai baru, hitung)

Nilai Parameter

ParameterDeskripsinilailamaDiperlukan. String untuk mencari nilai baruDiperlukan. String untuk mengganti nilai lama dengan countOptional. Angka yang menentukan berapa banyak kemunculan nilai lama yang ingin Anda ganti. Default adalah semua kejadian

Lebih Banyak Contoh

Contoh

Ganti semua kemunculan kata "satu"

txt = "satu satu kuda pacuan, dua dua satu juga. "

x = txt. ganti ("satu", "tiga")

cetak(x)

Cobalah sendiri "

Contoh

Ganti dua kemunculan pertama dari kata "satu"

txt = "satu satu kuda pacuan, dua dua satu juga. "

x = txt. ganti ("satu", "tiga", 2)

cetak(x)

Cobalah sendiri "


❮ Metode Untaian


Catatan. Jika hitungan tidak ditentukan, metode replace() mengganti semua kemunculan substring lama dengan string baru


replace() Mengembalikan Nilai

Metode replace()_ mengembalikan salinan string tempat substring lama diganti dengan string baru. String asli tetap tidak berubah

String adalah sekelompok karakter yang dapat digunakan untuk mewakili satu kata atau seluruh frase. Dalam string Python tidak memerlukan deklarasi eksplisit dan dapat didefinisikan dengan atau tanpa specifier oleh karena itu, mudah untuk menggunakannya

Python memiliki berbagai fungsi dan metode bawaan untuk memanipulasi dan mengakses string. Karena semua yang ada di Python adalah objek, string adalah objek dari kelas String, yang memiliki beberapa metode

Pada artikel ini, kita akan fokus mengganti semua kemunculan string dengan string lain di python

Menggunakan metode replace()

Metode replace() dari kelas string menerima nilai string sebagai input dan mengembalikan string yang dimodifikasi sebagai output. Ini memiliki 2 parameter wajib dan 1 parameter opsional. Berikut adalah sintaks dari metode ini

string.replace(oldvalue, newvalue, count)

di mana,

  • Nilai lama − Substring yang ingin Anda ganti

  • Nilai baru − Ini mewakili substring yang ingin Anda ganti

  • Hitung − Ini adalah parameter opsional;

Contoh 1

Dalam program yang diberikan di bawah ini, kami mengambil string input dan dengan menggunakan metode ganti kami mengganti huruf "t" dengan "d"

str1 = "Welcome to tutorialspoint" print("The given string is") print(str1) print("After replacing t with d") print(str1.replace("t","d"))

_

Keluaran

Keluaran dari program di atas adalah,

The given string is
Welcome to tutorialspoint
After replacing t with d
Welcome do dudorialspoind

Contoh 2

Dalam program yang diberikan di bawah ini, kami mengambil string input yang sama dan kami mengganti huruf "t" dengan "d" menggunakan metode replace(), tetapi dalam contoh ini kami menggunakan parameter hitungan sebagai 2. Jadi hanya 2 penampilan t yang dikonversi

str1 = "Welcome to tutorialspoint" print("The given string is") print(str1) print("After replacing t with d for 2 times") print(str1.replace("t","d",2))

Keluaran

Keluaran dari program di atas adalah,

The given string is
Welcome to tutorialspoint
After replacing t with d for 2 times
Welcome do dutorialspoint
_

Menggunakan ekspresi reguler

Kita juga bisa menggunakan ekspresi reguler Python untuk mengganti semua kemunculan string dengan string lain. Metode sub() dari python re menggantikan huruf yang ada dalam string yang diberikan dengan huruf baru. Berikut ini adalah sintaks dari metode ini -

re.sub(old, new, string);
  • Lama − Sub string yang ingin Anda ganti

  • Baru − Sub string baru yang ingin Anda ganti

  • String − String sumber

Contoh

Dalam contoh yang diberikan di bawah ini, kami mengulangi string dan mencocokkan setiap karakter dan menggantinya

Jika kita ingin mengganti substring dengan kemunculan pertama saja, kita dapat menyebutkan count =1. Demikian pula, untuk dua kemunculan pertama, kita dapat menyebutkan count=2

s1="one apple,two orange,two banana"
s2=s1.replace("two","one",1)
print (s2)
#Output:one apple,one orange,two banana
_3. Penggantian case-insensitive

Menggunakan 're. sub()'

Sintaksis

s1="one apple,two orange,two banana"
s2=s1.replace("two","one",1)
print (s2)
#Output:one apple,one orange,two banana
_1

Dengan menyebutkan

s1="one apple,two orange,two banana"
s2=s1.replace("two","one",1)
print (s2)
#Output:one apple,one orange,two banana
_2

Contoh 1. Harus mengganti "An" atau "an" dengan "one"

import re
s1="An apple,an avocado"
pattern = re.compile('an', re.IGNORECASE)
s2=pattern.sub("one",s1)
print (s2)
#Output:one apple,one avocado
_
  • s1="one apple,two orange,two banana"
    s2=s1.replace("two","one",1)
    print (s2)
    #Output:one apple,one orange,two banana
    3 → menentukan pola yang cocok dengan substring “an”. Bendera disetel sebagai ulang. IGNORECASE yang artinya tidak peka huruf besar-kecil. Ini akan cocok dengan substring “an”, “AN”, “An”.
  • s1="one apple,two orange,two banana"
    s2=s1.replace("two","one",1)
    print (s2)
    #Output:one apple,one orange,two banana
    4 →Mengganti pola yang cocok dengan "satu" untuk string "s1"

Contoh 2. Melakukan penggantian case-insensitive dengan menggunakan re. subn()

Menggunakan 're. subn()’

Sintaksis.

s1="one apple,two orange,two banana"
s2=s1.replace("two","one",1)
print (s2)
#Output:one apple,one orange,two banana
_5

Sama seperti ulang. sub(), tetapi akan mengembalikan tuple (new_string, number_of_subs_made)

Jika kita ingin mengetahui jumlah pergantian pemain, re. subn() dapat digunakan

import re
s1="An apple,an avocado"
pattern = re.compile('an', re.IGNORECASE)
s2=pattern.subn("one",s1)
print (s2)
#Output:('one apple,one avocado', 2)
  • s1="one apple,two orange,two banana"
    s2=s1.replace("two","one",1)
    print (s2)
    #Output:one apple,one orange,two banana
    6 → Mengembalikan string yang dimodifikasi dan jumlah penggantian yang dilakukan
4. Hindari penggantian pada bagian kata

Contoh 1. Untuk mengganti "an" dengan "satu". Tapi itu seharusnya tidak menggantikan bagian kata

Jika kita menggunakan str. replace(), “an” di dalam “oranye” juga diganti

s1="an apple,an orange"
s2=s1.replace("an","one")
print(s2)
#Output:one apple,one oronege

Untuk menghindari penggantian suku cadang dengan kata-kata, re. sub() dapat digunakan

import re
s1="an apple,an orange"
pattern = re.compile(r'\ban\b')
s2=pattern.sub("one",s1)
print (s1)
#Output:an apple,an orange
  • s1="one apple,two orange,two banana"
    s2=s1.replace("two","one",1)
    print (s2)
    #Output:one apple,one orange,two banana
    7 → \b cocok dengan string kosong. Karena '\ban\b' cocok dengan string kosong sebelum dan sesudah "an", ini akan menghindari penggantian bagian kata. Jadi 'an' di dalam 'oranye' tidak diganti
5. Ganti beberapa kata dengan satu kata

Contoh 1. Ganti "jam", "jam" menjadi "Jam"

import re
s1="hr,hour"
pattern = re.compile('(hr|hour)')
s2=pattern.sub("Hours",s1)
print (s2)
#Output:Hours,Hours
  • s1="one apple,two orange,two banana"
    s2=s1.replace("two","one",1)
    print (s2)
    #Output:one apple,one orange,two banana
    _8
  • () →grup
  • → baik atau
  • '(jam. jam)’ → cocok dengan “jam” atau “jam”
6. Ganti kumpulan karakter tertentu dengan satu karakter

Contoh. Ganti @,#,$,% dengan '-'

import re
s1="1@2#3$4%5"
s2=re.sub("[@#$%]","-",s1)
print (s2)
  • s1="one apple,two orange,two banana"
    s2=s1.replace("two","one",1)
    print (s2)
    #Output:one apple,one orange,two banana
    _9
    [] → digunakan untuk menunjukkan sekumpulan karakter
  • “[@#$%]” → pola cocok dengan salah satu karakter yang disebutkan dalam []
  • ulang. sub(“[@#$%]”,”-”,s1) → karakter yang cocok kemudian diganti dengan '-'
7. Ganti satu atau lebih kemunculan karakter dengan satu karakter

import re
s1="1.99,2.999,3.9999"
import
re
s2=re.sub("[9]+","0",s1)
print (s2)
#Output:1.0,2.0,3.0
  • import re
    s1="An apple,an avocado"
    pattern = re.compile('an', re.IGNORECASE)
    s2=pattern.sub("one",s1)
    print (s2)
    #Output:one apple,one avocado
    _0
  • “[9]+” → Ini akan cocok dengan satu atau lebih kemunculan 9
  • + → cocokkan satu atau lebih kemunculan karakter yang disebutkan
  • import re
    s1="An apple,an avocado"
    pattern = re.compile('an', re.IGNORECASE)
    s2=pattern.sub("one",s1)
    print (s2)
    #Output:one apple,one avocado
    1 → Mengganti satu atau lebih kemunculan '
    import re
    s1="An apple,an avocado"
    pattern = re.compile('an', re.IGNORECASE)
    s2=pattern.sub("one",s1)
    print (s2)
    #Output:one apple,one avocado
    2' dengan '
    import re
    s1="An apple,an avocado"
    pattern = re.compile('an', re.IGNORECASE)
    s2=pattern.sub("one",s1)
    print (s2)
    #Output:one apple,one avocado
    3' dalam string s1

Menggunakan 're. subn()

import re
s1="1.99,2.999,3.9999"
import
re
s2=re.subn("[9]+","0",s1)
print (s2)
#Output:('1.0,2.0,3.0', 3)

Takeaway

  1. Untuk mengganti string tetap, str. ganti() dapat digunakan. Ini jauh lebih cepat jika dibandingkan dengan modul ulang
  2. Jika pola tertentu perlu diganti, maka re. sub() atau re,subn() dapat digunakan
  3. Semua metode yang disebutkan di atas akan mengganti karakter dari string dan mengembalikan string baru. Itu tidak akan mengubah string asli

Blog saya yang lain terkait dengan metode string

Hapus Spasi Putih dari String dengan Python

Menggunakan metode string dan regex dengan Python

naik tingkat. terhubung. com

5 Cara Menemukan Indeks Substring dengan Python

Menggunakan metode string dan regex dengan Python

pemrograman yang lebih baik. pub

5 Cara Berbeda untuk Menghapus Karakter Tertentu Dari String dengan Python

Menggunakan metode string, filter, dan regex

pemrograman yang lebih baik. pub

split() vs. partisi() dalam String Python

Apa bedanya?

pemrograman yang lebih baik. pub

Tonton ruang ini untuk lebih banyak artikel tentang Python dan Ilmu Data. Jika Anda ingin membaca lebih banyak tutorial saya, ikuti saya di Medium, LinkedIn, Twitter

Bagaimana Anda mengganti semua kemunculan substring dalam string?

Untuk mengganti semua kemunculan substring dalam string dengan yang baru, Anda dapat menggunakan metode replace() atau replaceAll(). .
mengganti(). ubah substring menjadi ekspresi reguler dan gunakan bendera g
metode replaceAll() lebih lurus ke depan

Bagaimana cara mengganti hanya satu kemunculan karakter dalam sebuah string dengan Python?

replace (old, new[, count]) -> string Kembalikan salinan string S dengan semua kemunculan substring lama diganti dengan yang baru. Jika hitungan argumen opsional diberikan, hanya kemunculan hitungan pertama yang diganti.

Fungsi mana yang menggantikan semua kemunculan substring lama dalam string dengan string baru?

Metode replace() mengembalikan salinan string tempat substring lama diganti dengan string baru. String asli tetap tidak berubah. Jika substring lama tidak ditemukan, ia mengembalikan salinan dari string asli.

Bagaimana Anda mengganti kejadian tertentu dengan Python?

Python String replace() Metode . Catatan. Semua kemunculan frasa yang ditentukan akan diganti, jika tidak ada lagi yang ditentukan. The replace() method replaces a specified phrase with another specified phrase. Note: All occurrences of the specified phrase will be replaced, if nothing else is specified.