[英]Remove everything from a string but numbers, dots and single letters with preg_replace
如何修改此代碼以從給定的字符串exept 號 (已經存在) 和 字符串中刪除所有內容 :“。”,“ k”,“ B”和“ M”?
我正在做的是解析給出的價格:123k,124.7B,20M
preg_replace("/\D/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
這應該可以解決問題(如所定義):
preg_replace("/[^\.kBM0-9]/", "", "<td>Cost: 20b $, Sell for: 139k $</td>" );
我認為preg_match可能更好,特別是如果字符串中有多個數字(如您的示例):
preg_match_all("/([0-9]+(\.[0-9]+)?\s?[kBM]?)/", "<td>Cost: 20b $, Sell for: 139k $</td>", $match );
然后,所有數字都應在$match
數組中很好地分開。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.