2016-12-29 2 views
-1

Какой будет лучший шаблон Regex для удаления некоторых нулей (не всех) из случайной строки. Правило, чтобы удалить только те, которые после букв, например:Удалить нули из строки

  • TST00432505 должен давать TST432505
+0

Попробуйте использовать шаблон '/ [AZ] 0 +/gi' –

ответ

2

Это сделает j О.Б.:

$outputstring = preg_replace('/(?<=[a-z])0+/i', '', $inputstring); 

Объяснение:

/   : regex delimiter 
(?<=[a-z]) : positive lookbehind, assumes there is a letter before 
0+   : one or more zeros 
/i   : regex delimiter and modifier case insensitive 
+0

Этот, кажется, работает лучше всего. Спасибо! – SC00PB

+0

@ SC00PB: Добро пожаловать, рад, что это помогает. Не стесняйтесь отмечать ответ как принятый, см. Http://stackoverflow.com/help/someone-answers – Toto

0

Простое регулярное выражение на основе замены строка должна сделать работу:

<?php 
echo preg_replace('/^([^0]+)(0*)(.+)$/', '\\1\\3', 'TST00432505'); 

выход:

TST432505 
+0

забыл упомянуть, что некоторые строки будут приходить без нулей, и эти из них придется быть проигнорированным – SC00PB

+0

Я обновил вопрос соответственно. Хотя я бы и ожидал, что вы сами сможете настроить шаблон самостоятельно. – arkascha

 Смежные вопросы

  • Нет связанных вопросов^_^