2016-12-29 66 views
-1

什么是最好的正则表达式模式,用于从随机字符串中删除一些零(不是全部)。规则是字母后只删除的,例如:从字符串中删除零

  • TST00432505应该产生TST432505
+0

尝试使用模式'/ [AZ] 0 +/gi' –

回答

2

这会做j OB:

$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