在PHP中按大写字母分割



我发现了这个类似的问题,但它没有回答我的问题,按大写字母分割单词。

我有一个驼峰型的字符串。我想在每个大写字母处将字符串分开,如下所示。

$str = 'CamelCase'; // array('Camel', 'Case');

我已经走到这一步了:

$parts = preg_split('/(?=[A-Z])/', 'CamelCase');

但是结果数组总是在开始时以空值结束!$parts看起来像这样

$parts = array('', 'Camel', 'Case');

如何去掉数组开头的空值?

您可以像这样使用PREG_SPLIT_NO_EMPTY标志:

$parts = preg_split('/(?=[A-Z])/', 'CamelCase', -1, PREG_SPLIT_NO_EMPTY);

查看preg_split的文档。

你需要一个积极的向后看。试试这个:

$parts = preg_split('/(?<=\w)(?=[A-Z])/', 'CamelCase')
array(2) {
  [0]=>
  string(5) "Camel"
  [1]=>
  string(4) "Case"
}

数组过滤器可用于删除所有空值:

$parts = array_filter( $parts, 'strlen' );

相关内容

  • 没有找到相关文章

最新更新