php preg_replace每隔一次出现

时间:2013-12-20 10:05:25

标签: php preg-replace

我需要改变这个

329638.798,7387605.001,330131.098,7387324.001,329740.398,7386851.001
                      ^                      ^

进入这个

329638.798,7387605.001L330131.098,7387324.001L329740.398,7386851.001
                      ^                      ^

更简单

a1,b1,a2,b2,a3,b3 => a1,b1La2,b2La3,b3

这意味着用“L”替换逗号的每一次出现。

我已阅读this post并尝试了此

preg_replace('/(\S+,\S+)\s,/', '$1L', $geom);

没有成功。

2 个答案:

答案 0 :(得分:2)

如果您仍想使用正则表达式,请使用:

preg_replace('/(,[^,]*?),/', '$1L', $geom)

答案 1 :(得分:1)

在你的模式中你有\S - 它匹配任何不是空白字符的东西,其中包括逗号。您可以改用\w。方法如下:

echo preg_replace('/(\w+,.*?\w),/', '$1L', $geom)

输出:

329638.798,7387605.001L330131.098,7387324.001L329740.398,7386851.001

Demo.