4

我有一个字符串:CamelCaseString

我想对大写字母进行explode()、split() 或一些更好的方法来将此字符串分解为单个单词。

最简单的方法是什么?

--- 解决方案更新 ---

此链接指向一个略有不同的问题,但我认为答案通常比此页面上当前问题的答案更有用: 如何在大写字母的字符串中添加空格,但使用 PHP 和正则表达式?

4

3 回答 3

13

您应该使用正则表达式。尝试这个:preg_match_all('/[A-Z][^A-Z]*/', "CamelCaseString", $results);

包含所有单词的数组将保存在 $results[0] 中。

于 2011-08-03T00:02:29.487 回答
8

这似乎也有效

$split = preg_split("/(?<=[a-z])(?![a-z])/", "CamelCaseString", -1, PREG_SPLIT_NO_EMPTY);

而且它不会分解更长的大写字母。即“MySQL”,将变为“My”和“SQL”

于 2011-08-03T00:12:09.713 回答
-1

split() 函数已被弃用,因此我会寻找使用其他函数的解决方案。

于 2011-08-03T00:08:54.563 回答