+ 2
Ещё не обрабатываются телефоны которые не содержат "00". Например номер 12345 выдаст ошибку в сторке if match.start() == 0: потому, что match будет None и match.start() будет ошибкой. Я бы посоветовал вариант: if match and match.start() == 0: newstr = re.sub(pattern, "+", str, 1) return newstr else: return str
28th Nov 2020, 8:49 AM
Alexey Margulies
Alexey Margulies - avatar
+ 1
Было бы неплохо увидеть в чем состоит ваше задание. Вы изменяете строки: "00010020" -> "+01+20" “10010020" - > “10010020"
27th Nov 2020, 11:43 PM
Alexey Margulies
Alexey Margulies - avatar
+ 1
Попробуйте добавить четвёртый параметр в функцию sub - количество замен в строке: newstr = re.sub(pattern, "+", str, 1)
28th Nov 2020, 6:53 AM
Alexey Margulies
Alexey Margulies - avatar
+ 1
Рад помочь 👍
28th Nov 2020, 9:12 AM
Alexey Margulies
Alexey Margulies - avatar
+ 1
Я решил это,вот таким способом: import re #место для вашего кода x = input() b='00' n=re.sub(b,'+',x,count=0) if x[0] == '0': print(n) else: print(x)
29th Jul 2021, 7:52 PM
Дима Мельник
Дима Мельник - avatar