Hi Finalfire,

On Sunday 09 May 2010 20:03:44 Finalfire wrote:
> Hello guys! I'm skilling regex using Perl and i've some trouble about
> a simple try:
> i've a string like:
> 
> $string = "HELLOOOOAAABBCCCC";
> 
> and i want to manipulate in that way: HELL4O3ABB4C;You can simply
> notice that when i have 3 or more occurrences of a character, i want
> to substitute all the occurrences and write "nC" where n is how times
> the character C is found on a string.
> 
> So, in regex (i think there are so many way to do it but i wish to do
> with regex, just skilling...) i write:
> 
> $string =~ s/(.)\1\1+/$1/;
> 
> but how can i get the number of the occurrences in the string of that
> pattern?

You should use http://perldoc.perl.org/functions/length.html and the /e flag 
to s///. Untested:

$string =~ s/((.)\2\2+)/length($1).$2/ge

> 
> Thanks alot guys, hope on your reply

Hope it helps.

Regards,

        Shlomi Fish

> Have a nice time!
> 
> Finalfire

-- 
-----------------------------------------------------------------
Shlomi Fish       http://www.shlomifish.org/
http://www.shlomifish.org/humour/ways_to_do_it.html

God considered inflicting XSLT as the tenth plague of Egypt, but then
decided against it because he thought it would be too evil.

Please reply to list if it's a mailing list post - http://shlom.in/reply .

-- 
To unsubscribe, e-mail: beginners-unsubscr...@perl.org
For additional commands, e-mail: beginners-h...@perl.org
http://learn.perl.org/


Reply via email to