假设我有以下字符串:
getPasswordLastChangedDatetime
我怎么能用大写字母把它分开呢?
get
Password
Last
Changed
Datetime
最佳答案
如果只关心ascii字符:
$parts = preg_split("/(?=[A-Z])/", $str);
DEMO
(?= ..)
结构称为lookahead 。如果零件开头仅包含大写字符,则此操作有效。如果你有像
getHTMLString
这样的东西,事情会变得更复杂。与之相匹配的是:$parts = preg_split("/((?<=[a-z])(?=[A-Z])|(?=[A-Z][a-z]))/", $str);
DEMO