我有一个字符串:CamelCaseString
我想在大写字母上爆炸(),分割()或更好的方法,将这个字符串分解为单个单词。
最简单的方法是什么?
---解决方案更新---
此链接略有不同,但我认为答案通常比本页当前问题的答案更有用: How can I add a space in string at capital letters, but keep continuous capitals together using PHP and a Regex?
答案 0 :(得分:14)
您应该使用正则表达式。
试试这个:preg_match_all('/[A-Z][^A-Z]*/', "CamelCaseString", $results);
包含所有单词的数组将保存在$ results [0]中。
答案 1 :(得分:7)
这似乎也有效
$split = preg_split("/(?<=[a-z])(?![a-z])/", "CamelCaseString", -1, PREG_SPLIT_NO_EMPTY);
它不会破坏较长的大写字母。即“MySQL”,将成为“我的”和“SQL”
答案 2 :(得分:-1)
split()函数已被弃用,所以我会寻找一个使用其他函数的解决方案。