Beginner wrote:
Hi,

Hello,

I am trying to come up with a regex to squash multiple commas into one. The line I am working on looks like this:

SPEED OF LIGHT, , LIGHT SPEED,TRAVEL,TRAVELLING, , DANGER,DANGEROUS,PHYSICAL, , CONCEPT,CONCEPTS, , , , , , , , , , There are instances of /,\s{1,},/ and /,,/ The bit that I am struggling with is finding a way to get a use a multiplier for the regex /,\s+/ but I have to be careful not to remove single entries. I guess the order of my substitutions is important here.

$ perl -le'
$_ = q[SPEED OF LIGHT, , LIGHT SPEED,TRAVEL,TRAVELLING, , DANGER,DANGEROUS,PHYSICAL, , CONCEPT,CONCEPTS, , , , , , , , , , ];
> print;
s/,\s*(?=,)//g;
print;
'
SPEED OF LIGHT, , LIGHT SPEED,TRAVEL,TRAVELLING, , DANGER,DANGEROUS,PHYSICAL, , CONCEPT,CONCEPTS, , , , , , , , , , SPEED OF LIGHT, LIGHT SPEED,TRAVEL,TRAVELLING, DANGER,DANGEROUS,PHYSICAL, CONCEPT,CONCEPTS,


$ perl -le'
$_ = q[SPEED OF LIGHT, , LIGHT SPEED,TRAVEL,TRAVELLING, , DANGER,DANGEROUS,PHYSICAL, , CONCEPT,CONCEPTS, , , , , , , , , , ];
print;
$_ = join ",", grep /\S/, split /,/;
print;
'
SPEED OF LIGHT, , LIGHT SPEED,TRAVEL,TRAVELLING, , DANGER,DANGEROUS,PHYSICAL, , CONCEPT,CONCEPTS, , , , , , , , , , SPEED OF LIGHT, LIGHT SPEED,TRAVEL,TRAVELLING, DANGER,DANGEROUS,PHYSICAL, CONCEPT,CONCEPTS




John
--
Perl isn't a toolbox, but a small machine shop where you
can special-order certain sorts of tools at low cost and
in short order.                            -- Larry Wall

--
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]
http://learn.perl.org/


Reply via email to