Подтвердить что ты не робот

Как удалить числа из строки с помощью RegEx

У меня есть строка вроде этого:

" 23 PM"

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

Любые предложения?

Нужно быть в PHP

4b9b3361

Ответ 1

echo trim(str_replace(range(0,9),'',' 23 PM'));

Ответ 2

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

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

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

Ответ 3

preg_replace("/[0-9]/", "", $string);

Ответ 4

Можно также использовать 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 и пространство из строки, независимо от положения.

Ответ 5

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

$pm = substr("  23 PM", -2); // -> "PM"

Ответ 6

$str = preg_replace("/^[0-9 ]+/", "", $str);

Ответ 7

Regex

preg_replace('#[0-9 ]*#', '', $string);

Ответ 8

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

preg_replace('/\d/', '',' 23 PM' );