如何从字符串中替换一个左边字符?

时间:2015-05-16 13:45:11

标签: php

这是我的简单代码:

$string = "PAAUSTRALIA" ;
$output = str_replace("A","",$string);    
$output = str_replace("P","",$output);

这里的输出是:USTRLI

但是,我想要的输出是澳大利亚。

在php中有没有简单的方法来完成这项任务?简单地说,我想每次从字符串左侧为我的项目替换一个字符。

7 个答案:

答案 0 :(得分:3)

您必须使用功能才能顺利完成此任务。请看一下我的代码:

<?php
function onereplace($str,$replaced_character){
$spt = str_split($str,1);
for($i=0; $i <= (count($spt) - 1) ; $i++){
 if($spt[$i] == $replaced_character){
   unset($spt[$i]);
   break;
 }
}

return implode('',$spt);
}


$string = "PAAUSTRALIA" ;
$string = onereplace($string,"P");
echo $string = onereplace($string,"A");

?>

希望它能帮到你!!!

答案 1 :(得分:2)

尝试使用substrstrpos代替str_replace作为

$string = "PAAUSTRALIA" ;
$string = substr($string,(strpos($string, 'P') > -1));
$string = substr($string,(strpos($string, 'A') > -1));
echo $string; //AUSTRALIA

已编辑

创建函数也将与

相同
echo removeOne($string,'p');
function removeOne($str,$value){
     return substr($str,(stripos($str,$value) > -1));
}

str_replace会在字符串中找到字母'A',并将其替换为''

答案 2 :(得分:1)

另一种选择是使用支持限制参数的preg_replace

http://php.net/manual/en/function.preg-replace.php

$string = "PAAUSTRALIA" ;
$string = preg_replace("@A@", "", $string, 1);
$string = preg_replace("@P@", "", $string, 1);

答案 3 :(得分:0)

请在php中使用此功能执行任务:substr(yourstring, startindex, endindex)

被修改

substr(yourstring, 0, strlen($yourstring))
有关手册,请参阅此链接:http://php.net/substr

我希望这会对你有所帮助。

答案 4 :(得分:0)

echo substr($string ,1,strlen($string));

参考:

substr(string,start,length)

答案 5 :(得分:0)

str_replace将替换字符串中匹配的所有字符。

尝试使用substr()

$string = "AAUSTRALIA" ;
$output = substr($string, 1);

答案 6 :(得分:0)

如果你只是想从左边删除1个字符,那么你需要的只是substr():

$string = "PAAUSTRALIA" ;
$string = substr($string, 1); // AAUSTRALIA
$string = substr($string, 1); // AUSTRALIA