Моя программа заменяет токены значениями, когда они находятся в файле. При чтении в определенной строке он застревает, вот пример:
1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a
Два токена в примере — это Token100 и Token100a. Мне нужен способ заменить Token100 только его данными, а не заменить Token100a данными Token100 с последующим a. Я не могу искать пробелы до и после, потому что иногда они находятся в середине строк. Любые мысли приветствуются. Спасибо.
Вы можете использовать регулярное выражение с негативный взгляд вперед, чтобы убедиться, что следующий символ не является "a"
:
>>> import re
>>> test = '1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a'
>>> re.sub(r'Token100(?!a)', 'data', test)
'1.1.1.1.1.1.1.1.1.1 data.1 1.1.1.1.1.1.1Token100a'
Вы можете использовать регулярное выражение:
import re
line = "1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1Token100a"
match = re.sub("Token100a", "data", line)
print(match)
Выходы:
1.1.1.1.1.1.1.1.1.1 Token100.1 1.1.1.1.1.1.1data
Подробнее о регулярном выражении здесь: