PHP从字符串开头删除特定字符和数字

时间:2018-07-05 06:25:36

标签: php

我想从字符串的开头删除方括号和数字,但是问题是方括号和数字只是特定字符串而不是全部。

例如以下是我的字符串。

1) [4] Mustangs 8u
2) Pool a First Place
3) Team slect
4) [3] In pruduct

因此,在上面您只能看到1和4字符串的数字在字符串开头带有方括号,因此,我只想删除在字符串中找到的数字。

我编写了以下代码,但不起作用。

<?php

foreach ($grouped as $round_number => $group) {

        $team_1_name = $group->team_1_name;
        $new_str = preg_replace('/^([0-9]* \w+ )?(.*)$/', '$2', $team_1_name);

        $date = date ('F d, Y g:iA', $unix_time);

    }

?>

3 个答案:

答案 0 :(得分:3)

尝试将正则表达式/^(\[[0-9]\]?\s?)/设置为:

$new_str = preg_replace('/^(\[[0-9]\]?\s?)/', '$2', $team_1_name);

以供参考:regexr

答案 1 :(得分:2)

如果您的电话号码是多位数(即'[11]产品名')...

echo preg_replace('/^(\[\d*\]?\s?)/', '$2', $team_1_name);

答案 2 :(得分:0)

您可以将ltrim()与字符掩码配合使用来代替正则表达式。如果您的字符串从不以数字开头:

$new_str = ltrim($team_1_name, "0123456789[] ");

否则,您可以检查第一个字符是否为括号:

$new_str = $team_1_name[0] == '[' ? ltrim($team_1_name, '0123456789[] ') : '';