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];