how to use regular expression to remove a prefix string with all 0s.

14 views (last 30 days)
I have a set of strings, some of them are prefixed with 0, and others are not. For instance, there have five strings:
012AB AB0 00230 0045 abc
I want to remove all of the 0s if they are the prefix of a string. If a string does not have 0s at the prefix position, then the string will be kept the same.
Therefore, the above strings should be transferred into
12AB AB0 230 45 abc
How to implement the above functionality using regular expression?

Accepted Answer

Andrei Bobrov
Andrei Bobrov on 2 Dec 2011
s ='012AB AB0 00230 0045 abc';
out = regexprep(s,'\<0*','')
  3 Comments
Walter Roberson
Walter Roberson on 2 Dec 2011
\< means "beginning of a word" http://www.mathworks.com/help/techdoc/matlab_prog/f0-42649.html#f0-42983
0* means zero or more occurrences of the character '0'
Better would be
\<0+
which would require 1 or more 0's -- there is no point going through the replacement part of the code if there was not at least one 0.

Sign in to comment.

More Answers (0)

Categories

Find more on Characters and Strings in Help Center and File Exchange

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!