Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
假设我有一个多行字符串,例如
A: 51 B: 221 C: 45
我想替换它以获得
A: $51 B: $221 C: $45
我试过
preg_replace("/[\d*][^0-9]*/","$currency$0",$pricelist);
但这会在每个数字而不是每个数字之前添加货币符号。我也试过
preg_replace("/[\d]*/","$currency$0",$pricelist);
但这用两个货币符号包围了金额。
使用+量词代替*:
+
*
preg_replace("/\d+/", "$currency$0",$pricelist);
使用*量词,您的正则表达式首先匹配所有数字,然后匹配最后一个数字之后的空字符串。因此,您会看到两个$符号 - 一个在数字匹配之前,一个在空字符串之前,在最后一个数字之后匹配。
$