2016-11-04 73 views

回答

1

更有可能是一个更好的方式,但这会起作用。

$string = "NCPDP_2016-10-28_15-31-10.csv"; 
$explode = explode('_', $string); 
echo $explode[ 1 ]."\n"; 
$explode2 = explode('.', $explode[ 2 ]); 
echo $explode2[ 0 ]; 

结果:

2016-10-28 
15-31-10 
2

嗯,这是更短的方式。如果你想再次使用它们,你可以添加变量$ setup和$ explode add to function。

$string = 'NCPDP_2016-10-28_15-31-10.csv'; 

$setup = str_replace("_", ".csv", $string); 
$explode = explode(".csv", $setup); 

echo $explode[1].' '.$explode[2]; 

结果将是做

2016-10-28 15-31-10 
0

简单的方法。

$str1 = 'NCPDP_2016-10-28_15-31-10.csv'; 
    $replacestr = str_replace("_", ".csv", $str1); 
    $explode = explode(".csv", $replacestr); 
    echo $explode[1].' '.$explode[2]; 
1

这里有一个更短的版本:

$string = 'NCPDP_2016-10-28_15-31-10.csv'; 
echo trim(preg_replace('/([^\d\-])/', ' ', $string)); 

我们简单地取代一切,是不是数字或空格破折号。我们这样做的原因,而不是完全删除它们是保持日期和时间之间的空间。

现在我们可以修剪掉所有的白色空间,但保留中间的一个(在日期和时间之间)。