PHP只从长字符串中删除一个字母一次?

时间:2009-05-07 07:35:44

标签: php string

我需要从字符串中删除单个字符,例如在下面的文本块中,我需要能够删除其中一个字符。

djriojnrwadoiaushd

离去:

driojnrwadoiaushd

6 个答案:

答案 0 :(得分:4)

您还可以将str_relpace与$ count参数一起使用:     $ str ='djriojnrwadoiaushd';     echo str_replace('j','',$ str,1);

Ups,抱歉..我的坏。


这是一个真实的方式:

$str = 'djriojnrwadoiaushd';
$pos = strpos( $str, 'j' );
if( $pos !== FALSE )
{
    echo substr_replace( $str, '', $pos, 1 );
}

答案 1 :(得分:3)

只需使用子字符串:

<?php

$str = 'djriojnrwadoiaushd';
$remove = 'j';

$index = strpos($str, $remove);
if ($index !== false)
    $str = substr($str, 0, $index) . substr($str, $index + 1);

echo $str;

?>

答案 2 :(得分:2)

退后一步 - 我知道正则表达式;

$newString = preg_replace("/".preg_quote($stringToReplace)."/", '', $inputString, 1);

答案 3 :(得分:1)

试试这个:

$needle = 'j';
if (($pos = strpos($str, $needle) !== false) {
    $str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle));
}

答案 4 :(得分:0)

strpos()返回大海捞针中第一根针的位置,即。你字符串中的第一个j。那么删除那封信就很简单了。

答案 5 :(得分:0)

你也可以使用PHP中的字符串是数组的事实,并删除对应于'j'的元素:

$str[strpos($str, 'j')] = null;