Как добавить '@' только к первым 'get', а не ко всем 'get' (s), используя re.sub () python? - PullRequest
0 голосов
/ 21 апреля 2020
import re
text = 'Do you get it yet? Another get'
re.sub(r'(get)', r'\1@', text)
# 'Do you get@ it yet? Another get@'

1 Ответ

0 голосов
/ 21 апреля 2020

re.sub принимает аргумент count:

Необязательный аргумент count - максимальное количество экземпляров шаблона, подлежащих замене; count должен быть неотрицательным целым числом. Если опущено или ноль, все вхождения будут заменены. Пустые совпадения для шаблона заменяются, только если они не соседствуют с предыдущим пустым совпадением, поэтому sub('x*', '-', 'abxd') возвращает '-a-b--d-'.

Итак, re.sub(r'(get)', r'\1@', text, count=1) выводит Do you get@ it yet? Another get

...