php正则表达式删除数字
我需要一个正则表达式来删除字符串中的数字,但不能删除空格。我现在有 $city_location = 'UK,0113|Leeds new york'; $sip_city = '0113Leeds new york'; $city = preg_replace('/[^a-z]/i', '', $sip_city); $city_location='英国0113 |利兹纽约'; $sip_city='0113利兹纽约'; $city=preg_replace('/[^a-z]/i',''$sip_city);php正则表达式删除数字,php,regex,Php,Regex,我需要一个正则表达式来删除字符串中的数字,但不能删除空格。我现在有 $city_location = 'UK,0113|Leeds new york'; $sip_city = '0113Leeds new york'; $city = preg_replace('/[^a-z]/i', '', $sip_city); $city_location='英国0113 |利兹纽约'; $sip_city='0113利兹纽约'; $city=preg_replace('/[^a-z]/i',''$s
它会删除数字,但也会删除空格,因此我需要一个不会删除空格的正则表达式。如果要删除所有数字,请使用
\d
$city = preg_replace('/\d/', '', $sip_city);
或[^a-z\s]
如果要替换除字母和空格以外的所有字符
$city = preg_replace('/[^a-z\s]/i', '', $sip_city);
使用
在您的代码中,regex引擎
与字母表中没有的A-Z
和A-Z
不匹配。所以空格不在字母表中,它们是匹配的。
我对正则表达式没有太多的经验,但有一件事我明白了
最好告诉正则表达式引擎
你想要什么,而不是告诉你想要什么
不要
我想您不需要这里的
I
标志:)Michael只是想删除数字,但您的代码会删除特殊字符,如$、@、#或其他字符。它不会删除的是字母表中的字母和空格below@lovesh,我的第一个解决方案将只删除数字。
$city = preg_replace('/[0-9]/', '', $sip_city);