如何使用 PHP 将字符串按大写字母分解?

发布于 2024-11-27 11:43:43 字数 396 浏览 2 评论 0原文

我有一个字符串:CamelCaseString

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

最简单的方法是什么?

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

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

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?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

烟雨凡馨 2024-12-04 11:43:43

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

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

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].

一杆小烟枪 2024-12-04 11:43:43

这似乎也有效

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

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

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"

浅唱ヾ落雨殇 2024-12-04 11:43:43

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

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文