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, '')

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'

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

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.