代码之家  ›  专栏  ›  技术社区  ›  Alberto Carmona

在php文件中找不到逗号

  •  -3
  • Alberto Carmona  · 技术社区  · 6 年前

    我有以下文件:

    [1501801200000,"0.07873100",...], ,[1501804800000,"0.07896500",...]
    

    我想用','替换字符串','。我用下面的命令试过了,但没用。它可以找到其他字符串并正确替换它们,但不能替换这个字符串。我不知道逗号是特殊字符还是我做错了什么。

    $b4 = ', ,';
    $r4 = ',';
    $str=str_replace($b4, $r4, $str);
    

    非常感谢,

    1 回复  |  直到 6 年前
        1
  •  2
  •   sumit    6 年前

    首先,您的格式不是json,您可以执行如下操作。 检查注释

    $str='[1501801200000,,"0.07873100","0.07925600","0.07827700","0.07896500","460.84900000",1501804799999,"36.32928908",598,"220.92800000","17.41827596","26410.13557257"], ,[1501804800000,"0.07896500","0.07921800","0.07859000","0.07904500","791.20700000",1501808399999,"62.42483876",588,"303.41800000","23.93436841","26415.92962855"]';
    //tidy up whitespace
    $str = preg_replace('!\s+!', '', $str);
    //replace mulitple comma with single one 
    $str=preg_replace('!,+!', ',', $str);
    echo $str;
    

    如果json字符串有空格,则编辑以修复错误

    $str=preg_replace('/\s*,\s*/', ',', $str);
    echo $str=preg_replace('!,+!', ',', $str);