String menggantikan javascript kejadian terakhir

Bagaimana menemukan dan mengganti kejadian terakhir sub dengan pengganti repl dalam string Python s?

Mari kita lihat beberapa contoh untuk memahami masalahnya secara menyeluruh

Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result: 'finxter'

Example 2:
s = '...'
sub = '.'
repl = 'hello'
result: '..hello'

Example 3:
s = 'hello\nworld\nuniverse'
sub = '\n'
repl = ' and '
result: 'hello\nworld and universe'

Mari selami metode Python murni pertama selanjutnya

Metode 1. menemukan[]

Metode Python

index = s.rfind[sub]
s[:index] + repl + s[index+len[sub]:]
_2 mengembalikan indeks tertinggi dalam string tempat substring ditemukan, yaitu. e. , indeks kejadian terakhir dari substring dalam string yang diberikan atau
index = s.rfind[sub]
s[:index] + repl + s[index+len[sub]:]
3 jika tidak ditemukan. Anda dapat menggunakan mengiris dalam kombinasi dengan
index = s.rfind[sub]
s[:index] + repl + s[index+len[sub]:]
4 yang ditemukan untuk menyelesaikan masalah seperti itu

index = s.rfind[sub]
s[:index] + repl + s[index+len[sub]:]
_
  • Anda menggunakan
    index = s.rfind[sub]
    s[:index] + repl + s[index+len[sub]:]
    _5 untuk menemukan kejadian terakhir dari sub di s
  • Anda menggunakan operasi pemotongan
    index = s.rfind[sub]
    s[:index] + repl + s[index+len[sub]:]
    8 dan
    index = s.rfind[sub]
    s[:index] + repl + s[index+len[sub]:]
    9 untuk mendapatkan bagian yang tidak berubah dari string baru yang tidak diganti
  • Anda memasukkan string pengganti repl_ menggunakan rangkaian string dengan hasil operasi pemotongan di atas

Mari kita lihat contoh praktis selanjutnya

Contoh. Inilah cara Anda dapat membuat string baru dengan kejadian terakhir dari substring yang diberikan diganti dengan string pengganti yang diberikan

def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
_

Agar dapat dipahami, mari selami dua contoh lain yang diperkenalkan dalam rumusan masalah

# Example 2:
s = '...'
sub = '.'
repl = 'hello'
result = repl_last[s, sub, repl]
print[result]
# result: '..hello'


# Example 3:
s = 'hello\nworld\nuniverse'
sub = '\n'
repl = ' and '
result = repl_last[s, sub, repl]
print[result]
# result: 'hello\nworld and universe'
_

Anda dapat menemukan beberapa informasi latar belakang tentang

def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
_1 dan beberapa metode string lainnya dalam video berikut—menaklukkan metode string untuk selamanya. 🙂

Metode String Python [Panduan Utama]


Tonton video ini di YouTube

Metode 2. sub ekspresi reguler []

Fungsi regex

def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
2 menggantikan semua kemunculan pola
def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
3 dengan penggantian
def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
4 dalam string
def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
5. Ini mengembalikan string baru

Misalnya, jika Anda memanggil

def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
_6, hasilnya adalah string baru
def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
7 dengan semua karakter
def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
8 diganti dengan
def repl_last[s, sub, repl]:
    index = s.rfind[sub]
    if index == -1:
        return s
    return s[:index] + repl + s[index+len[sub]:]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'
9

Namun, Anda tidak ingin mengganti semua substring yang cocok—hanya yang terakhir. Jadi, bagaimana cara mewujudkannya?

Mari kita lihat jawaban singkatnya — saya akan menjelaskannya lebih detail dan dengan contoh sesudahnya

pattern = sub + '[?!.*' + sub + ']'
return re.sub[pattern, repl, s, flags=re.DOTALL]
  • Anda membuat pola sub dengan pandangan ke depan negatif
    # Example 2:
    s = '...'
    sub = '.'
    repl = 'hello'
    result = repl_last[s, sub, repl]
    print[result]
    # result: '..hello'
    
    
    # Example 3:
    s = 'hello\nworld\nuniverse'
    sub = '\n'
    repl = ' and '
    result = repl_last[s, sub, repl]
    print[result]
    # result: 'hello\nworld and universe'
    
    1 untuk memastikan bahwa kita cocok dengan pola paling kanan sub dan tidak terjadi di mana pun di sebelah kanan
  • Anda mengganti pola paling kanan ini dengan string pengganti menggunakan metode
    # Example 2:
    s = '...'
    sub = '.'
    repl = 'hello'
    result = repl_last[s, sub, repl]
    print[result]
    # result: '..hello'
    
    
    # Example 3:
    s = 'hello\nworld\nuniverse'
    sub = '\n'
    repl = ' and '
    result = repl_last[s, sub, repl]
    print[result]
    # result: 'hello\nworld and universe'
    
    3
  • Anda menyetel bendera
    # Example 2:
    s = '...'
    sub = '.'
    repl = 'hello'
    result = repl_last[s, sub, repl]
    print[result]
    # result: '..hello'
    
    
    # Example 3:
    s = 'hello\nworld\nuniverse'
    sub = '\n'
    repl = ' and '
    result = repl_last[s, sub, repl]
    print[result]
    # result: 'hello\nworld and universe'
    
    4 untuk memastikan bahwa titik dan asterisk
    # Example 2:
    s = '...'
    sub = '.'
    repl = 'hello'
    result = repl_last[s, sub, repl]
    print[result]
    # result: '..hello'
    
    
    # Example 3:
    s = 'hello\nworld\nuniverse'
    sub = '\n'
    repl = ' and '
    result = repl_last[s, sub, repl]
    print[result]
    # result: 'hello\nworld and universe'
    
    5 bagian dari pola cocok dengan semua karakter termasuk karakter baris baru. Ini hanya pengoptimalan kecil untuk mencocokkan beberapa kasus perbatasan dengan benar

Oke, mari kita lihat kodenya untuk melihat apakah itu memecahkan masalah kita dengan benar

import re


def repl_last[s, sub, repl]:
    pattern = sub + '[?!.*' + sub + ']'
    return re.sub[pattern, repl, s, flags=re.DOTALL]


# Example 1:
s = 'fifi'
sub = 'fi'
repl = 'nxter'
result = repl_last[s, sub, repl]
print[result]
# result: 'finxter'


# Example 2:
s = '...'
sub = '.'
repl = 'hello'
result = repl_last[s, sub, repl]
print[result]
# result: '..hello'


# Example 3:
s = 'hello\nworld\nuniverse'
sub = '\n'
repl = ' and '
result = repl_last[s, sub, repl]
print[result]
# result: 'hello\nworld and universe'

Ya. Regex untuk menyelamatkan

Apakah Anda ingin menguasai negara adidaya regex? . [1] pelajari bab buku, [2] pecahkan teka-teki kode, dan [3] tonton video bab pendidikan

Tutorial Terkait

  • Sub Regex Python

Python Regex Sub - Bagaimana Cara Mengganti Pola dalam sebuah String?


Tonton video ini di YouTube

Kursus Python Regex

Insinyur Google adalah master ekspresi reguler. Mesin pencari Google adalah mesin pemroses teks besar yang mengekstraksi nilai dari triliunan halaman web.   

Insinyur Facebook adalah master ekspresi reguler. Jejaring sosial seperti Facebook, WhatsApp, dan Instagram menghubungkan manusia melalui pesan teks.  

Insinyur Amazon adalah master ekspresi reguler. Raksasa e-niaga mengirimkan produk berdasarkan deskripsi produk tekstual. Ekspresi reguler mengatur permainan saat pemrosesan teks memenuhi ilmu komputer.  

Jika Anda juga ingin menjadi master ekspresi reguler, lihat kursus Python regex terlengkap di planet ini

Chris

Saat bekerja sebagai peneliti dalam sistem terdistribusi, Dr. Christian Mayer menemukan cintanya untuk mengajar siswa ilmu komputer

Untuk membantu siswa mencapai tingkat kesuksesan Python yang lebih tinggi, dia mendirikan situs web pendidikan pemrograman Finxter. com. Dia adalah penulis buku pemrograman populer Python One-Liners [NoStarch 2020], rekan penulis seri Coffee Break Python dari buku yang diterbitkan sendiri, penggemar ilmu komputer, pekerja lepas, dan pemilik salah satu dari 10 blog Python terbesar di dunia

Kesukaannya adalah menulis, membaca, dan coding. Tetapi hasrat terbesarnya adalah untuk melayani calon pembuat kode melalui Finxter dan membantu mereka meningkatkan keterampilan mereka. Anda dapat bergabung dengan akademi email gratisnya di sini

Bagaimana cara mengganti kemunculan string terakhir dalam JavaScript?

Ganti kemunculan terakhir dalam string .
Gunakan typeof untuk menentukan apakah pola adalah string atau ekspresi reguler
Jika polanya adalah string, gunakan itu sebagai kecocokan
Jika tidak, gunakan konstruktor RegExp untuk membuat ekspresi reguler baru menggunakan RegExp. .
Gunakan Tali. .
Jika kecocokan ditemukan, gunakan String

Bagaimana cara menghapus kemunculan karakter terakhir dari string dalam JavaScript?

Untuk menghapus karakter terakhir dari string dalam JavaScript, Anda harus menggunakan metode slice[] . Dibutuhkan dua argumen. indeks awal dan indeks akhir. slice[] mendukung pengindeksan negatif, yang berarti slice[0, -1] setara dengan slice[0, str. panjang - 1].

Bagaimana Anda menemukan kemunculan karakter terakhir dalam string di JavaScript?

Metode lastIndexOf[] mengembalikan indeks [posisi] kemunculan terakhir dari nilai tertentu dalam sebuah string. Metode lastIndexOf[] mencari string dari ujung ke awal. Metode lastIndexOf[] mengembalikan indeks dari awal [posisi 0].

Bagaimana cara saya menyingkirkan contoh terakhir dari sebuah string?

Untuk menghapus karakter terakhir dari suatu String, kita harus menggunakan dua parameter. 0 sebagai indeks awal, dan indeks karakter kedua dari belakang. Kita dapat mencapainya dengan memanggil metode String's length[], dan mengurangkan 1 dari hasilnya .

Bài mới nhất

Chủ Đề