removing every even character from a string

removing every even character from a string

am 09.10.2007 08:14:57 von yawnmoth

Say I had .a.b.c and wanted to return abc. Any ideas as to how I'd do
this? Here's my attempt, but it doesn't work:

echo preg_replace('#(?:.(.))+#s', '$1', '.a.b.c');
?>

Any ideas?

Re: removing every even character from a string

am 09.10.2007 10:14:48 von Cliff Smith

"yawnmoth" wrote in message
news:1191910497.284515.252710@50g2000hsm.googlegroups.com...
> Say I had .a.b.c and wanted to return abc. Any ideas as to how I'd do
> this? Here's my attempt, but it doesn't work:
>
> > echo preg_replace('#(?:.(.))+#s', '$1', '.a.b.c');
> ?>
>
> Any ideas?

Hi, If you know that the characters are dots, just str_replace them with
nothing

$new = str_replace('.','','.a.b.c');

or if they are every other character , regardless of value, try:

$string = '.d.fjdghdjtgkfdhfr';
$new = '';
for ($n = 2 to len($string)+1){
if ($n%2==0) $new .= substr($string,$n-2,1);
}

this will remove all the odd characters,
testing for $n modulus 2 ==1 will take out the even characters

HTH

Ron

Re: removing every even character from a string

am 09.10.2007 10:14:51 von Vladimir Ghetau

Yawnmoth,

Try focusing on the simple rules:


echo preg_replace('/[^A-Z]/i', NULL, '.a.b.c');

?>

Ouputs just what you need.

Best luck!

Vladimir
http://www.Vladimirated.com

Re: removing every even character from a string

am 09.10.2007 15:23:56 von zeldorblat

On Oct 9, 4:14 am, "Ron Barnett" wrote:
>
> or if they are every other character , regardless of value, try:
>
> $string = '.d.fjdghdjtgkfdhfr';
> $new = '';
> for ($n = 2 to len($string)+1){
> if ($n%2==0) $new .= substr($string,$n-2,1);
>
> }
>
> this will remove all the odd characters,
> testing for $n modulus 2 ==1 will take out the even characters
>
> HTH
>
> Ron

Or, even simpler:

$new = '';
for($i = 1; $i < len($string); $i += 2)
$new .= $string[$i];