我需要一个正则表达式来删除字符串中的数字而不是空格。我目前有
$city_location = 'UK,0113|Leeds new york'; $sip_city = '0113Leeds new york'; $city = preg_replace('/[^a-z]/i', '', $sip_city);
它删除了数字,但也删除了空格,所以我需要一个不会删除空格的正则表达式。
答案 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-Z
和a-z
字母表中没有的任何内容。所以空格不在字母表中,它们会匹配。
我对正则表达式没有多少经验,但我理解的一件事是
最好告诉正则表达式引擎 你想要什么,而不是告诉你什么 不想要