$str = 1,gmail,6.69%,2,google,3.01%,3,google maps,0.98;
我想修剪上面的数字(不是百分比),所以:
$str = preg_replace('/(?<!\w|\.)\d+/', '', $str);
结果是
,gmail,6.69%,,google,3.01%,,google maps,0.98;
但是这给了我空格和逗号。我怎么摆脱它?并非所有逗号都是空白的逗号。
答案 0 :(得分:4)
我决定将其拆分并单独处理。如果有的话,更容易阅读IMO。
$values = explode(',', $str);
$values = preg_grep('/^\d+(\.\d+)?\z/', $values, PREG_GREP_INVERT);
$str = join(',', $values);