PHP中怎么利用正則表達式刪除除逗號和點以外的非數字字符,很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
給你一個字符串“$123,34.00A
”,要求你用正則表達式刪除除逗號和點以外的非數字字符,也就是說我們需要寫一個PHP代碼獲取“123,34.00
”,畢竟$
和A
就屬于除逗號和點以外的非數字字符。
非常簡單啦~
上代碼:
<?php $str1 = "$12,334.00A"; echo preg_replace("/[^0-9,.]/", "", $str1)."\n";
沒看錯,這么簡短的兩行代碼就可以完成我們的要求:
運行結果:
搞定!
這里就是介紹一個重要的函數preg_replace
,該函數能執行一個正則表達式的搜索和替換。
其語法是“mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
”,表示搜索 subject 中匹配 pattern 的部分, 以 replacement 進行替換。
其中幾個參數具體表示:
$pattern: 要搜索的模式,可以是字符串或一個字符串數組。
$replacement: 用于替換的字符串或字符串數組。
$subject: 要搜索替換的目標字符串或字符串數組。
$limit: 可選,對于每個模式用于每個 subject 字符串的最大可替換次數。 默認是-1(無限制)。
$count: 可選,為替換執行的次數。
那么關于preg_replace("/[^0-9,.]/", "", $str1)
,這個表達式的意思就是,匹配除了0-9間的數字以及逗號和點號以外的字符,并將這些字符替換為空即刪除即可。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注億速云行業資訊頻道,感謝您對億速云的支持。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。