If $x is set to "01.02.03"
(Not using normal message quoting to make message shorter.
[1] ToddAndMargo [2] Norman Gaywood [3] Mark Senn)
DOING $x ~~ s:global/"0"(\d)/ $0 /; [1]
SETS $x TO "1 . 2 . 3" [1]
COMMENT Spaces on right hand side of s command are significant. [2]
DOING $x ~~ s:global/"0"(\d)/$0/; [2]
SETS $x to "1.2.3" [2]
COMMENT Zeroes would de deleted from "101.102.103". [3]
(I suspect the general case is delete leading zeroes or zeroes
immediately following periods.)
DOING $x ~~ s:g/(^|".")0+/$0/; [3]
or, using named captures,
$x ~~ s:g/$<leader>=(^|".")0+/$<leader>/;
SETS $x to "1.2.3" [3]
COMMENT Zeroes would not be deleted from "101.102.103". [3]
For me, the last solution is the clearest: replace all beginning of
strings or "." followed by one or more zeroes by the beginning of the
string or ".", whichever was matched.
-mark