Python'da dizenin ilk oluşumunu değiştirin


116

Bazı örnek dizim var. Bu dizenin daha uzun bir dizede ilk geçtiği yeri boş dizeyle nasıl değiştirebilirim?

regex = re.compile('text')
match = regex.match(url)
if match:
    url = url.replace(regex, '')

Neyi arıyorsun ve değiştiriyorsun? İçinde ne var url?
BoltClock

URL
dizemdeki

Yanıtlar:


239

string replace () işlevi bu sorunu mükemmel bir şekilde çözer:

string.replace (s, eski, yeni [, maxreplace])

S dizesinin bir kopyasını, eski alt dizginin tüm oluşumlarını yeniyle değiştirerek döndürür. İsteğe bağlı maxreplace bağımsız değişkeni verilirse, ilk maxreplace oluşumları değiştirilir.

>>> u'longlongTESTstringTEST'.replace('TEST', '?', 1)
u'longlong?stringTEST'

20

re.subDoğrudan kullanın , bu, aşağıdakileri belirtmenize olanak tanır count:

regex.sub('', url, 1)

(Not bağımsız değişken sırasının olduğu replacement, originalkarşıt olmayan olarak şüpheli olabilir.)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.