How does one break a string down by capital letter

2019-04-09 18:34发布

问题:

I have a string: CamelCaseString

I want to explode(), split(), or some better method on capital letters to break this string down into the individual words.

What's the simplest way to do this?

--- SOLUTION UPDATE ---

This link is to a slightly different question, but I think the answer will generally be more useful than the answers to the current question on this page: How can I add a space in string at capital letters, but keep continuous capitals together using PHP and a Regex?

回答1:

You should use regular expressions. Try this: preg_match_all('/[A-Z][^A-Z]*/', "CamelCaseString", $results);

The array containing all the words will be saved in $results[0].



回答2:

This seems to work too

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

And it won't break up longer runs of uppercase letters. I.e. "MySQL", will become "My" and "SQL"



回答3:

The split() function has been deprecated so I would look for a solution that uses some other function.