dqy27359 2015-09-25 00:26
浏览 81
已采纳

PHP正则表达式preg_grep更改字符串路径

I have array:

$array = array(
    "C:/path/something1/something2/dir",
    "C:/path1/something/something2/dir2
extdir",
    "C:/path2/something/dir2
extdir
ext",
    "C:/path/something3/something6/something7/dir5
extdir2
ext"
);

All that is before the last sign "/" with him to disappear.

I want something like that:

$array = array(
    "dir",
    "dir2
extdir",
    "dir2
extdir
ext",
    "dir5
extdir2
ext"
);

I need regex

$new_array = preg_grep("/regex/", $array);

I have no idea how to write a regex.

I dont want like that:

foreach($array as $key => $val) {
    $e = explode("/", $val);
    $new_array[] = end($e);
}
  • 写回答

1条回答 默认 最新

  • dongran1779 2015-09-25 00:42
    关注

    preg_grep() does not change/replace the values, it returns the items that match the given regular expression. If you must use regex and replace the values, take a look at preg_replace() instead:

    $array = preg_replace('~.*/~', '', $array);
    var_dump($array);
    

    Output

    array(4) {
      [0]=> string(3) "dir"
      [1]=> string(12) "dir2
    extdir"
      [2]=> string(17) "dir2
    extdir
    ext"
      [3]=> string(18) "dir5
    extdir2
    ext"
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥20 怎么用dlib库的算法识别小麦病虫害
  • ¥15 华为ensp模拟器中S5700交换机在配置过程中老是反复重启
  • ¥15 java写代码遇到问题,求帮助
  • ¥15 uniapp uview http 如何实现统一的请求异常信息提示?
  • ¥15 有了解d3和topogram.js库的吗?有偿请教
  • ¥100 任意维数的K均值聚类
  • ¥15 stamps做sbas-insar,时序沉降图怎么画
  • ¥15 买了个传感器,根据商家发的代码和步骤使用但是代码报错了不会改,有没有人可以看看
  • ¥15 关于#Java#的问题,如何解决?
  • ¥15 加热介质是液体,换热器壳侧导热系数和总的导热系数怎么算