Если ваш номер телефона всегда состоит из 8 цифр после необязательного 0, тогда это регулярное выражение работает:
https://regex101.com/r/OLgGOx/1
0(\d{8})
и заменить на $1
После вашего комментария ниже 0(\d{2,8})
работает.
Или попробуйте
(^[\S\s]{26})(0?)(.*)
для явного удаления 27-го символа, если он равен 0.
Заменить на $1$3
После вашего комментария выше попробуйте:
(^[\S\s]{26})(?:(0)([\d]*)(\s))
заменить на:
$1$3$4$4
[к сожалению, у меня нет времени, чтобы объяснить это до завтра.]
В основном он использует прием условного захвата одного пробела - группы 4 - если в 27-й позиции есть 0. А затем добавление дополнительной группы 4. Это работает, потому что если в позиции 27 не было 0, группы 2, 3 и 4 все равно пусты.
См. https://regex101.com/r/OLgGOx/2
и включите настройку PCRE2
в vscode.