是否有可能得到“#34;测试","原型"和"超级"在以下文件名中:
MyCSV - Test.csv
MyCSV - Prototype.csv
MyCSV - Super.csv
答案 0 :(得分:1)
使用pathinfo()去除扩展,然后使用preg_split按空格和超量分割单词,然后使用array_unique删除任何重复项,例如
$words=array_unique(preg_split("/[\\s\\-]+/u",pathinfo($filename,PATHINFO_FILENAME)));
现在,如果您只想要文件名的最后一个单词,
$str=$words[count($words)-1];
或者如果你想要除第一个以外的所有单词,
unset($words[0]);
$str=implode(" ",$words);
答案 1 :(得分:1)
我使用了substr()
函数。
它更容易使用,但它需要文件名的一致性,因此可以轻松切片文件名。
答案 2 :(得分:0)
echo explode('.',explode('- ',$filename)[1])[0];
输出: - https://eval.in/979069
<强> 说明: - 强>
首先,使用-
(连字符和空格)进行爆炸并使用[1]
获取最后一个值(因为您在爆炸后获得数组,因此您可以使用索引获取特定值,它将给出您重视Test.csv
,Prototype.csv
,Super.csv
....等等。)
再次使用.
进行爆炸,并使用[0]
作为最终结果使用第一个值。(因为爆炸后你得到数组,所以你可以使用索引获取特定值,它会给你价值如Test
,Prototype
,Super
....等等。
检查此拆分代码以便更好地理解: - https://eval.in/979077