簡體   English   中英

使用preg_replace刪除字符串中的所有內容,但數字,點和單個字母除外

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM