我有一个看起来像这样的字符串:
$str = "bla_string_bla_bla_bla";
我怎样才能删除第一个bla_;但只有在字符串的开头找到它?
bla_
使用str_replace(),它会删除 所有 bla_的 。
str_replace()
简单的形式,没有正则表达式:
$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 秒)。
显然,在我的服务器上进行了分析。