php正则表达式删除数字

时间:2011-06-18 17:11:56

标签: php regex

我需要一个正则表达式来删除字符串中的数字而不是空格。我目前有

$city_location = 'UK,0113|Leeds new york';
$sip_city = '0113Leeds new york';
 $city = preg_replace('/[^a-z]/i', '', $sip_city);

它删除了数字,但也删除了空格,所以我需要一个不会删除空格的正则表达式。

2 个答案:

答案 0 :(得分:11)

如果要删除所有数字,请使用\d

$city = preg_replace('/\d/', '', $sip_city);

[^a-z\s]如果要替换除字母和空格以外的所有内容

$city = preg_replace('/[^a-z\s]/i', '', $sip_city);

答案 1 :(得分:2)

使用

$city = preg_replace('/[0-9]/', '', $sip_city);

在您的代码中,regex engine不匹配A-Za-z字母表中没有的任何内容。所以空格不在字母表中,它们会匹配。 我对正则表达式没有多少经验,但我理解的一件事是

  

最好告诉正则表达式引擎   你想要什么,而不是告诉你什么   不想要