Как удалить числа из строки с помощью регулярного выражения
У меня есть строка, подобная этой:
" 23 PM"
Я хотел бы удалить 23
, поэтому у меня остается PM
или (с усеченным пробелом) просто PM
.
Есть какие-нибудь предложения?
Должен быть в PHP
8 answers
echo trim(str_replace(range(0,9),'',' 23 PM'));
Может обойтись без ltrim
ltrim(' 23 PM', ' 0123456789');
Это приведет к удалению любых чисел и пробелов с левой стороны строки. Если вам это нужно для обеих сторон, вы можете использовать trim
. Если вам это нужно только для правильной стороны, вы можете использовать rtrim
.
preg_replace("/[0-9]/", "", $string);
Также может использовать str_replace
, что часто является более быстрой альтернативой регулярному выражению.
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 и пробел в строке, независимо от позиции.
Если вам нужны только последние два символа строки, используйте подстанция с отрицательным началом:
$pm = substr(" 23 PM", -2); // -> "PM"
$str = preg_replace("/^[0-9 ]+/", "", $str);
Регулярное выражение
preg_replace('#[0-9 ]*#', '', $string);
Вы также можете использовать следующее:
preg_replace('/\d/', '',' 23 PM' );