Bagaimana Anda mengganti semua kemunculan kata dalam sebuah string dengan python?

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 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 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

Bagaimana Anda mengganti semua kemunculan semua substring dalam string dengan string baru?

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.

Bagaimana Anda mengganti semua kemunculan dalam string regex Python?

sub() akan mengganti semua kemunculan pola dalam string target . Dengan mengatur count=1 di dalam re. sub() kita hanya dapat mengganti kejadian pertama dari suatu pola dalam string target dengan string lain. Tetapkan nilai hitungan ke jumlah penggantian yang ingin Anda lakukan.