现在,我正在使用分割、切片和合并的方法来实现这个功能:
$exploded = implode(' ',array_slice(preg_split('/(?=[A-Z])/','ThisIsATest'),1));
//$exploded = "This Is A Test"
更美观的版本:
$capital_split = preg_split('/(?=[A-Z])/','ThisIsATest');
$blank_first_ignored = array_slice($capital_split,1);
$exploded = implode(' ',$blank_first_ignored);
然而,问题在于当你输入
'SometimesPDFFilesHappen'
这样的内容时,我的实现会(错误地)将其解释为'Sometimes P D F Files Happen'
。我应该如何(简单地)让我的脚本将
'P D F'
压缩成'PDF'
?我认为它应该从第一个大写字母开始分割,并在最后一个大写字母之前结束,以适应下一个单词。
是的,我知道有一些不确定性,比如在
'ThisIsAPDFTest'
中,它将被解释为'This Is APDF Test'
。但是,我想不出一个“聪明”的方法来避免这种情况,所以这是一个可以接受的妥协。