早教吧 育儿知识 作业答案 考试题库 百科 知识分享

php正则替换:29881215+8这是一串数字(数字的个数不一定),数字间的空格数量不一定;298812158这是一串数字(数字的个数不一定),数字间的空格数量不一定;我想用正则替换做成2

题目详情
php正则替换:2 9 8 8 12 15 + 8 这是一串数字(数字的个数不一定),数字间的空格数量不一定;
2 9 8 8 12 15 8 这是一串数字(数字的个数不一定),数字间的空格数量不一定;我想用正则替换做成2,9,8,8,12,15+8 即最后一个数字前面用+号割开,其他用,号割开
$lot='2011130\x052\x059\x0512\x0515\x0517';
\x05$lot2=preg_replace('/\s/',',',$lot);
\x05echo $lot2;//数字之间用逗号割开
\x05$lot3=preg_replace('/,{1}$1/','+',$lot2);//重写,从后面匹配替换,替换第一个,号为+号
\x05echo $lot3;
为什么第二步替换不好使呢?应该怎么写?
能不能用正则的方法从后面替换,把最后俩个数字之间替换成用+号连接
▼优质解答
答案和解析
$str='2 9 8 8 12 15 8';
$str=preg_replace('/[\s]{1,}/',',',trim($str));
$str=preg_replace('/(\,)([0-9]){0,}$/',"+\\2",$str);
结果是2,9,8,8,12,15+8