remove number in text

$fields[12] =~ s/\s+0\d+//g;

This works to remove th number begins with 0 in context.
However it does not work in the cases belows
TEL:040/72105730 : if some signs before 0, it dows not work
0998-20344 in this case
(040-2093494) In this case also?
Could you please make it work?
tilmesAsked:
Who is Participating?
 
BioICommented:
This one works for all the cases [maybe not the most elegant way? experts, correct me when i am wrong]
$word =~ s/(^|\D)0+\d*\D{0,1}\d*/$1/g;
0
 
prady_21Commented:
$fields[12] =~ s/\s+0[\d-\/]+//g;
0
 
prady_21Commented:
the above one wont work, sorry

$fields[12] =~ s/\s+0[-\d\/]+//g;
0
Cloud Class® Course: Ruby Fundamentals

This course will introduce you to Ruby, as well as teach you about classes, methods, variables, data structures, loops, enumerable methods, and finishing touches.

 
tilmesAuthor Commented:
Hello

it does not work. this Tel:0174 and Tel.0190 shows still in view
0
 
tilmesAuthor Commented:
Can this work, if some signs before 0 wrote, for exmpale :0174
it shows still. Can remove all the numbers begins with 0
both either in case begins direct with 0 or some signs is already before 0?
0
 
jmcgOwnerCommented:
I'm a little leery of blindly removing leading zeroes, but if you define a leading zero as any one of a sequence of one or more zeroes that follow a nondigit and precede a digit, then maybe this regular expression substitution will do what you ask:

$fields[12] =~ s/(^|\D)0+(\d)/$1$2/g;
0
 
tilmesAuthor Commented:
This one removes only 0, the digit follows remained.
e.g. 04213444 becomes 4213444
0
 
tilmesAuthor Commented:
Maybe it would be better if
the text begins with "Tel." or "Tel:" or "(0" remove following all digits.
and remove whole numbers begins with 0
0
 
tilmesAuthor Commented:
I am sorry,
It is firm if this works
remove all digits begins with 0
remove all digits include ":0" or ".0"
0
 
jmcgOwnerCommented:
Perhaps you need to start at the beginning. What is it you are trying to do? Please take the time to explain it clearly, since we are currently just making stabs in the dark.
0
 
BioICommented:
another stab in the dark :-)  If you want to delete only the prefix e.g. TEL:040/72105730 has to become TEL:72105730 you can use the following:
$fields[12]=~ s/(^|\D)0+\d*\D{0,1}(\d*)/$1$2/g;

the outputs:
 TEL:040/72105730  => TEL:72105730
 0998-20344 => 20344
 (040-2093494) => (2093494)
 099820344 =>                 (empty)

So according to jmcg's question: what is correct of these substitions and what isn't correct?
0
 
tilmesAuthor Commented:
can it be this way?
the outputs:
 TEL:040/72105730  => TEL:(empty)
 0998-20344 => (empty)
 (040-2093494) => ((empty))
 099820344 =>                 (empty)
0
 
tilmesAuthor Commented:
Hi BioI,

It works very good,
thanks again.
0
 
BioICommented:
Hi Tilmes,

Nice that it works!  
But do you sometimes consider to split points?  Because in this case, I just proceeded the work of the experts above [in fact on the solution proposed by jmcg].  Maybe it's worth considering this next time...
CU around!
0
 
tilmesAuthor Commented:
Dear Bios

thanks for the advice. I know now how it works and it will be fair next time.
CU around!
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.