2011-06-18 98 views
2

我需要一個正則表達式來刪除字符串中的數字,但不是空格。我目前有php正則表達式刪除數字

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

它刪除數字,但也空格,所以我需要一個正則表達式,它不會刪除空格。

回答

11

使用\d,如果你想,如果你想更換所有,除了在你的代碼字母和空格

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

我想你不需要在這裏的'我'國旗:) –

+0

@Felix國王,是的,固定,謝謝:) – Dogbert

+0

邁克爾只是想刪除數字,但你的代碼將刪除像$,@,#或其他特殊字符。它不會刪除的是字母和空格的字母。對於我的報價,我在下面說了些什麼? – lovesh

2

使用

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

刪除所有數字

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

或者[^a-z\s]regex engine不匹配任何不是在字母表中是A-Za-z。所以空格不在字母表中並且匹配。 我沒有用正則表達式太多的經驗,但我已經明白的一件事是,

這是更好地告訴正則表達式引擎 ü想要什麼,而不是告訴ü 不想要什麼

相關問題