代码之家  ›  专栏  ›  技术社区  ›  Sam Becker

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

  •  1
  • Sam Becker  · 技术社区  · 15 年前

    djriojnrwadoiaushd

    德里奥金瓦多奥斯德

    6 回复  |  直到 15 年前
        1
  •  4
  •   Petrunov    15 年前

    还可以将str_relpace与$count参数一起使用:


    这里有一个真实的方法:

    $str = 'djriojnrwadoiaushd';
    $pos = strpos( $str, 'j' );
    if( $pos !== FALSE )
    {
        echo substr_replace( $str, '', $pos, 1 );
    }
    
        2
  •  3
  •   Greg    15 年前

    只需使用子字符串:

    <?php
    
    $str = 'djriojnrwadoiaushd';
    $remove = 'j';
    
    $index = strpos($str, $remove);
    if ($index !== false)
        $str = substr($str, 0, $index) . substr($str, $index + 1);
    
    echo $str;
    
    ?>
    
        3
  •  2
  •   pauljwilliams    15 年前

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

    $newString = preg_replace("/".preg_quote($stringToReplace)."/", '', $inputString, 1);
    
        4
  •  1
  •   Gumbo    15 年前

    试试这个:

    $needle = 'j';
    if (($pos = strpos($str, $needle) !== false) {
        $str = substr($str, 0, $pos) . substr($str, $pos+strlen($needle));
    }
    
        5
  •  0
  •   Berzemus    15 年前
        6
  •  0
  •   mishac    15 年前

    您还可以使用PHP中的字符串是数组这一事实,并删除与“j”对应的元素:

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