小编典典

从字符串的开头删除一个字符串

all

我有一个看起来像这样的字符串:

$str = "bla_string_bla_bla_bla";

我怎样才能删除第一个bla_;但只有在字符串的开头找到它?

使用str_replace(),它会删除 所有 bla_的 。


阅读 94

收藏
2022-08-20

共1个答案

小编典典

简单的形式,没有正则表达式:

$prefix = 'bla_';
$str = 'bla_string_bla_bla_bla';

if (substr($str, 0, strlen($prefix)) == $prefix) {
    $str = substr($str, strlen($prefix));
}

耗时: 0.0369 毫秒 (0.000,036,954 秒)

与:

$prefix = 'bla_';
$str = 'bla_string_bla_bla_bla';
$str = preg_replace('/^' . preg_quote($prefix, '/') . '/', '', $str);

耗时:第一次运行(编译)耗时 0.1749 毫秒(0.000,174,999 秒),之后 耗时 0.0510 毫秒
(0.000,051,021 秒)。

显然,在我的服务器上进行了分析。

2022-08-20