如何使用RegEx从字符串中删除数字

时间:2010-07-29 13:34:29

标签: php regex string

我有一个这样的字符串:

" 23 PM"

我想删除23,因此我只剩下PM或(空格被截断)PM

有什么建议吗?

需要使用PHP

8 个答案:

答案 0 :(得分:62)

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

答案 1 :(得分:15)

可以使用ltrim

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

这将删除字符串左侧的任何数字和空格。如果双方都需要,可以使用trim。如果您只需要右侧,则可以使用rtrim

答案 2 :(得分:14)

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

答案 3 :(得分:5)

也可以使用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和字符串中的空格,无论位置如何。

答案 4 :(得分:5)

如果您只想要字符串的最后两个字符,请使用带有否定开头的substr

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

答案 5 :(得分:3)

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

答案 6 :(得分:3)

正则表达式

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

答案 7 :(得分:2)

您还可以使用以下内容:

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