gpt4 book ai didi

php - 在PHP中用单个逗号删除多个逗号

转载 作者:行者123 更新时间:2023-12-05 01:49:21 24 4
gpt4 key购买 nike

想用一个逗号删除多个逗号 [带或不带空格]。尝试了这个正则表达式,但失败了 preg_replace("/\s{1,5},\s{1,5}+/", ", ", $string);
尝试了其他解决方案,但找不到任何空格也存在逗号的解决方案。

示例输入

GUWAHATI, TEZPUR, , BAMUNI HILLS, MAHABHAIRAB TEMPLE, AGNIGARH ,   
GUWAHATI, TEZPUR , , BAMUNI HILLS,, MAHABHAIRAB TEMPLE, AGNIGARH,
GUWAHATI, , TEZPUR, , BAMUNI HILLS, MAHABHAIRAB TEMPLE, AGNIGARH

预期输出

GUWAHATI, TEZPUR, BAMUNI HILLS, MAHABHAIRAB TEMPLE, AGNIGARH

最佳答案

你可以使用这个解决方案:

$s = preg_replace('/^[,\h]+|\h*(,)(?:\h*,)+\h*|[,\h]+$/m', '$1 ', $s);

RegEx Demo

分割:

  • ^[,\h]+:匹配开始后的1+个逗号或空格
  • |:或者
  • \h*(,)(?:\h*,)+\h*:匹配 2 个或多个由空格分隔的逗号可选。请注意,我们匹配捕获组中的单个逗号
  • |:或者
  • [,\h]+$:匹配结束前的1+个逗号或空格
  • '$1 ':替换为将捕获的逗号值后跟一个空格

关于php - 在PHP中用单个逗号删除多个逗号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/74203721/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com