Я использую следующий код, чтобы найти все индексы от индекса 0 до ~, чтобы я мог создать строку для каждого совпадения
import re
s = 'product 1 & product 2|category 1|8~product 4|category 3 |10~product 1 & product 19|category 8|6~product 50|category 4|6'
substring = "~"
matches = re.finditer(substring, s)
matches_positions = [match.start() for match in matches]
print(matches_positions)
output
[34, 59, 95]
Я вручную использую каждый индекс, чтобы показать В следующем выводе я хотел бы создать функцию, которая могла бы разбивать и возвращать каждое вхождение
print(s[0:34])
print(s[34 + 1: 59])
print(s[59 +1 : 95])
print(s[95 +1 : len(s)])
output
product 1 & product 2|category 1|8
product 4|category 3 |10
product 1 & product 19|category 8|6
product 50|category 4|6
Заранее спасибо