原代码:韩版^3.25 性感^3.25 夏装^3.25 休闲^3.25 均码^3.15 尺寸^2.99 运动套装^2.95 黑色背心^2.85 条纹T恤^2.76 罩衫^2.57 白色背心^2.41 海滩^2.18 牛仔衬衫^1.77 个性^1.71 理想结果:韩版^性感^夏装^休闲^均码^尺寸^运动套装^黑色背心^条纹T恤^罩衫^白色背心^海滩^牛仔衬衫^个性^使用 \D*\^ 得到的结果是:韩版^
性感^
夏装^
休闲^
均码^
尺寸^
运动套装^
黑色背心^
条纹T恤^
罩衫^
白色背心^
海滩^
牛仔衬衫^
个性^最近在学习做采集的程序,现在遇到关键字采集的时候碰到这个问题,这个结果好像有个换行符的,这样程序无法读取到的不知道正则怎么写才好。谷歌数遍,还是不得其解,盼高手指教一下。

解决方案 »

  1.   

    $s = '韩版^3.25 性感^3.25 夏装^3.25 休闲^3.25 均码^3.15 尺寸^2.99 运动套装^2.95 黑色背心^2.85 条纹T恤^2.76 罩衫^2.57 白色背心^2.41 海滩^2.18 牛仔衬衫^1.77 个性^1.71 ';$s = preg_replace('/(\d+)*/', '', $s);echo $s;
      

  2.   

    echo preg_replace('/\d+(\.\d+)?| /is', '', $str);
      

  3.   

    如果不要^
    $s = '韩版^3.25 性感^3.25 夏装^3.25 休闲^3.25 均码^3.15 尺寸^2.99 运动套装^2.95 黑色背心^2.85 条纹T恤^2.76 罩衫^2.57 白色背心^2.41 海滩^2.18 牛仔衬衫^1.77 个性^1.71 ';$s = preg_replace('/(\^)*(\d+\.*)*/', '', $s);echo $s;
      

  4.   


    $str="韩版^3.25 性感^3.25 夏装^3.25 休闲^3.25 均码^3.15 尺寸^2.99 运动套装^2.95 黑色背心^2.85 条纹T恤^2.76 罩衫^2.57 白色背心^2.41 海滩^2.18 牛仔衬衫^1.77 个性^1.71 ";
    preg_match_all('~(.*?[^\^]*?)\d+(\.\d+)?~is',$str,$data);
    echo join("",$data[1]);
      

  5.   

    <?php
    $string = <<<STR
    韩版^3.25
    性感^3.25
    夏装^3.25
    休闲^3.25
    均码^3.15
    尺寸^2.99
    运动套装^2.95
    黑色背心^2.85
    条纹T恤^2.76
    罩衫^2.57
    白色背心^2.41
    海滩^2.18
    牛仔衬衫^1.77
    个性^1.71
    STR;$output = preg_replace('/\d*\.*\d*\r*\n*/', '', $string);
    print_r($output);
    ?>
      

  6.   

    一个是 preg_match_all 获取所有,然后 implode
    另一个是 preg_replace 数字和 .
      

  7.   

    $s = <<<STR
    韩版^3.25
    性感^3.25
    夏装^3.25
    休闲^3.25
    均码^3.15
    尺寸^2.99
    运动套装^2.95
    黑色背心^2.85
    条纹T恤^2.76
    罩衫^2.57
    白色背心^2.41
    海滩^2.18
    牛仔衬衫^1.77
    个性^1.71
    STR;echo preg_replace('/[\d\s.]+/', '', $s);韩版^性感^夏装^休闲^均码^尺寸^运动套装^黑色背心^条纹T恤^罩衫^白色背心^海滩^牛仔衬衫^个性^