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

2022-08-30 06:33:47

我有一个字符串,如下所示:

$str = "bla_string_bla_bla_bla";

如何删除第一个;但前提是在字符串的开头找到它?bla_

使用 ,它将删除所有str_replace()bla_


答案 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 秒)。

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


答案 2

您可以将正则表达式与插入符号 () 结合使用,该符号将匹配项锚定在字符串的开头:^

$str = preg_replace('/^bla_/', '', $str);

推荐