Beefy Boxes and Bandwidth Generously Provided by pair Networks
Clear questions and runnable code
get the best and fastest answer

Re: splitting punctuation in a text

by injunjoel (Priest)
on Aug 11, 2008 at 16:59 UTC ( #703696=note: print w/replies, xml ) Need Help??

in reply to splitting punctuation in a text

I would suggest using a word boundary \b. for instance...
#!/usr/bin/perl -w use strict; use Data::Dumper; my $line = "earth, wind & fire"; my @chunks = split /\b/, $line; print Dumper(\@chunks);
Which produces what you want... well close. If you don't want the spaces around your punctuation marks this
#need the grep to filter for truth! #basically checking if #the element is defined/filled-in/not-blank my @chunks = grep{$_} split /\b|\s/, $line;
should do the trick.

Update! Upon re-reading your post I am a bit unclear... Do you want to keep the punctuations or not?
if not
#either this my @no_punct = $line =~ /(\w+)/g; #or this my @no_punct = grep{$_}split /\W|\s/, $line;
will work.

"I do not feel obliged to believe that the same God who endowed us with sense, reason and intellect has intended us to forego their use." -Galileo

Log In?

What's my password?
Create A New User
Node Status?
node history
Node Type: note [id://703696]
and all is quiet...

How do I use this? | Other CB clients
Other Users?
Others browsing the Monastery: (10)
As of 2017-05-23 21:28 GMT
Find Nodes?
    Voting Booth?