我想从字符串的开头删除方括号和数字,但是问题是方括号和数字只是特定字符串而不是全部。
例如以下是我的字符串。
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);
}
?>
答案 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[] ') : '';