我的头都晕了,我试着自己做这件事,但就是想不通。所以我再一次转向你们的知识。
这些都是我可能使用的字符串:
My head is spinning with, pregreplace
My head is spinning, with, pregreplace
My head is, spinning, with, pregreplace
My head, is, spinning, with, pregreplace(请注意以上字符串中的逗号)
我想让所有的"preg-replaced“/ "string-replaced”在最后只有一个逗号。(就像在第一个例子中显示的一样)
我的头晕了,普雷格里普斯
提前感谢;)
发布于 2012-02-21 06:43:02
你可以像这样使用“正向先行”:
,(?=.*,)
前视是括号中的部分。它基本上是说“仅当字符串中后面有另一个逗号时才替换此逗号。
代码将如下所示:
echo preg_replace('/,(?=.*,)/', '', $str);我用RegexBuddy进行了测试,以确认它是否正常工作:

发布于 2012-02-21 06:42:00
preg_replace( '/,/', '', $my_string, preg_match_all( '/,/', $my_string) - 1);上面的代码应该可以满足您的需求。
https://stackoverflow.com/questions/9369417
复制相似问题