#php #arrays #regex #string
#php #массивы #регулярное выражение #строка
Вопрос:
Для следующего кода:
$string = "hello: Mister, Winterbottom";
$words = preg_split("/[s,] /", $string);
print_r ($words);
Я получаю:
Array ( [0] => hello: [1] => Mister [2] => Winterbottom )
но я хочу, чтобы результаты были:
Array ( [0] => hello [1] => Mister [2] => Winterbottom )
так что он будет игнорировать двоеточие. Как я могу это сделать?
Комментарии:
1. Используйте
/[s,:] /
. Или/W /
Ответ №1:
Если вам нужно расширить свой символьный класс с :
помощью, просто поместите его в него и используйте
/[s,:] /
Смотрите его демонстрацию здесь. Или просто используйте /W /
для разделения 1 символов, не являющихся словами.
$words = preg_split("/[s,:] /", $string);
print_r ($words);
// Or
print_r(preg_split("/W /", $string));
Смотрите демонстрацию PHP
Ответ №2:
$string = "hello: Mister, Winterbottom";
$words = preg_split("/[s,] /", $string);
$words[0] = rtrim($words[0],":");
print_r ($words);
Комментарии:
1. Ответы должны иметь объяснение.
2. Хотя этот фрагмент кода может решить вопрос, включение объяснения действительно помогает улучшить качество вашего сообщения. Помните, что вы отвечаете на вопрос для читателей в будущем, и эти люди могут не знать причин вашего предложения кода.