一尘不染

从字符串开头删除字符串

php

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

$str = "bla_string_bla_bla_bla";

我如何删除第一个bla_; 但只有在字符串的开头找到它?

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


阅读 315

收藏
2020-05-29

共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秒)之后。

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

2020-05-29