Ganti kemunculan pertama string dengan Python

116

Saya punya beberapa contoh string. Bagaimana saya bisa mengganti kemunculan pertama dari string ini dalam string yang lebih panjang dengan string kosong?

regex = re.compile('text')
match = regex.match(url)
if match:
    url = url.replace(regex, '')
tanda34
sumber
Apa yang Anda cari dan ganti? Apa isinya url?
BoltClock
Saya ingin mengganti kemunculan pertama 'teks' dalam string url saya
mark34

Jawaban:

239

string replace () fungsi dengan sempurna memecahkan masalah ini:

string.replace (s, old, new [, maxreplace])

Kembalikan salinan string dengan semua kemunculan substring lama diganti dengan yang baru. Jika argumen opsional maxreplace diberikan, kemunculan maxreplace pertama diganti.

>>> u'longlongTESTstringTEST'.replace('TEST', '?', 1)
u'longlong?stringTEST'
virhilo.dll
sumber
20

Gunakan re.subsecara langsung, ini memungkinkan Anda untuk menentukan count:

regex.sub('', url, 1)

(Perhatikan bahwa urutan argumen replacement, originalbukan sebaliknya, seperti yang diduga.)

Konrad Rudolph
sumber