У меня есть строка: CamelCaseString
CamelCaseString
Я хочу разбить (), split () или какой-нибудь лучший метод на заглавные буквы, чтобы разбить эту строку на отдельные слова.
Какой самый простой способ сделать это?
--- ОБНОВЛЕНИЕ РЕШЕНИЯ ---
Эта ссылка на немного другой вопрос, но я думаю, что ответ, как правило, будет более полезным, чем ответы на текущий вопрос на этой странице: Как я могу добавить пробел в строку заглавными буквами, но сохранить непрерывные заглавные буквы вместе, используя PHP и регулярное выражение?
Вы должны использовать регулярные выражения.Попробуйте это: preg_match_all('/[A-Z][^A-Z]*/', "CamelCaseString", $results);
preg_match_all('/[A-Z][^A-Z]*/', "CamelCaseString", $results);
Массив, содержащий все слова, будет сохранен в $ results [0].
Кажется, что это тоже работает
$split = preg_split("/(?<=[a-z])(?![a-z])/", "CamelCaseString", -1, PREG_SPLIT_NO_EMPTY);
И это не будет разбивать длинные серии заглавных буквТ.е. «MySQL», станет «My» и «SQL»
Функция split () устарела, поэтому я бы искал решение, которое использует другую функцию.