使用php剪切特定的尖头字符串

时间:2011-02-01 10:18:15

标签: php

我如何从这些样本中删除额外的0字符串。

当前字符串:0102000306 必填字符串:12036

这里每个数字前面都有一个0值。所以,我需要从字符串中删除额外的所有零[0]值并获得我期望的字符串。使用str_replace是不可能的。因为那么所有零都将被替换。那么,我该怎么做呢?

3 个答案:

答案 0 :(得分:4)

使用正则表达式:

$result = preg_replace('#0(.)#', '\\1', '0102000306');

结果:

"12036"

使用array_reduce:

$string = array_reduce(str_split('0102000306', 2), function($v, $w) { return $v.$w[1]; });

或array_map + implode:

implode('',array_map('intval',str_split('0102000306',2)));

答案 1 :(得分:3)

$currentString = '0102000306';
$length = strlen($currentString);
$newString = '';
for ($i = 0; $i < $length; $i++) {
   if (($i % 2) == 1) {
      $newString .= $currentString{$i};
   }
}

$currentString = '0102000306';
$tempArray = str_split($currentString,2);
$newString = '';
foreach($tempArray as $val) {
   $newString .= substr($val,-1);
}

答案 2 :(得分:0)

它不是特别优雅,但这应该做你想要的:

$old = '0102000306';
$new = '';
for ($i = 0; $i < strlen($old); $i += 2) {
  $new .= $old[$i+1];
}
echo $new;