2012-01-16 44 views
0


我不知道如何從字符串中刪除了「問號字符」這樣的:刪除特定標誌的正則表達式

8�901.9631 

我想使用正則表達式。我試圖用這個正則表達式:

#(\d+).(\d+(?:\.\d{1,4})?)# 

但它不起作用。

回答

4

如果你知道所有其他字符是數字和時間,你可以這樣做:

$string = '8�901.9631'; 
$new_string = preg_replace('/[^\d\.]/', '', $string); 
echo $new_string; //8901.9631 

基本上,這是消除一切,是[^ ])一批(\d)或時間段(\. )。

+0

這就是它!非常感謝:) – sunpietro 2012-01-16 19:58:58

+1

這引發了你之後獲得的'8901.9631'是否可以接受的問題。但否則,+1 – 2012-01-16 19:59:58

3

如果需要清理字符串,並將其轉換爲float可以使用例如filter_var方法:

filter_var($string, FILTER_SANITIZE_NUMBER_FLOAT);