Как убрать числа из строки с помощью RegEx - PullRequest
17 голосов
/ 29 июля 2010

У меня есть такая строка:

" 23 PM"

Я хотел бы удалить 23, поэтому у меня осталось PM или (с урезанным пробелом) просто PM.

Есть предложения?

Должен быть в PHP

Ответы [ 8 ]

62 голосов
/ 29 июля 2010
echo trim(str_replace(range(0,9),'',' 23 PM'));
15 голосов
/ 29 июля 2010

Можно сделать с ltrim

ltrim(' 23 PM', ' 0123456789');

Это удалит любое число и пробелы с левой стороны строки.Если вам это нужно для обеих сторон, вы можете использовать trim.Если вам это нужно только для правой стороны, вы можете использовать rtrim.

14 голосов
/ 29 июля 2010
preg_replace("/[0-9]/", "", $string);
5 голосов
/ 29 июля 2010

Если вам нужны только два последних символа строки, используйте substr с отрицательным началом:

$pm = substr("  23 PM", -2); // -> "PM"
5 голосов
/ 29 июля 2010

Можно также использовать str_replace, что часто является более быстрой альтернативой RegEx.

str_replace(array(1,2,3,4,5,6,7,8,9,0,' '),'', ' 23 PM');
// or
str_replace(str_split(' 0123456789'), '', ' 23 PM');

, который заменит любое число 0-9 и пробел из строки, независимо от позиции.

3 голосов
/ 29 июля 2010

Regex

preg_replace('#[0-9 ]*#', '', $string);
3 голосов
/ 29 июля 2010
$str = preg_replace("/^[0-9 ]+/", "", $str);
2 голосов
/ 16 апреля 2015

Вы также можете использовать следующее:

preg_replace('/\d/', '',' 23 PM' );
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...