如何检测文件名中的常见字符串组

Amb*_*rex 7 php regex

我一直试图找出一种可以检测一系列文件的方法.例如:

如果给定目录包含以下文件:

  • Birthday001.jpg
  • Birthday002.jpg
  • Birthday003.jpg
  • Picknic1.jpg
  • Picknic2.jpg
  • Afternoon.jpg.

我想把列表浓缩到类似的东西

  • 生日(3张图片)
  • Picknic(2张图片)
  • 下午(1张图片)

我应该如何检测这些群体?

Art*_*kii 6

这是解决这个问题的一种方法,它比蛮力方法更有效.

  • 将所有名称加载到关联数组中,其键等于名称和值等于名称但带有数字stripped(preg_replace('/\d//g', $key)).

你会有类似的东西 $arr1 = [Birthday001 => Birthday, Birthday002 => Birthday ...]

  • 现在创建另一个关联数组,其中键是来自第一个数组的值,而值是一个计数值.当你已经看到钥匙时增加计数.
  • 最后,您将得到一个包含名称和计数的第二个数组,就像您想要的那样.就像是$arr2 = [Birthday => 2, ...]