4

我有字符串

10.2、200.3、33.00

我希望它被替换为

10,2, 200,3, 33,00

我试过了

preg_replace("/[.]$/","/\d[,]$/",$input);

但它没有取代!

我不能使用str_replace,因为这是大学的任务

4

3 回答 3

14

str_replace()当哑巴就足够时,不要使用正则表达式:

$str = str_replace('.', ',', $str)

请参阅文档: http: //php.net/str_replace

于 2013-05-04T18:05:59.170 回答
10
preg_replace('/\./', ',', $input); 

这将取代所有的“。” 带有“,”的点。

preg_replace('/(\d+).(\d+)/', '$1,$2', $input); 

这更符合您的需求。$1 替换括号中的第一个数字;2 美元秒。

-给我买一杯啤酒;)

于 2013-05-04T19:30:48.067 回答
2

你可以试试这个

preg_replace('/[^0-9\s]/', ',', $input)

但如果你使用它会更好

str_replace('.', ',', $input)

正如马尔辛回答的那样。

于 2013-05-04T18:26:58.493 回答