gpt4 book ai didi

php - 将 StudlyCaps 字符串拆分为单词

转载 作者:行者123 更新时间:2023-12-02 22:01:07 26 4
gpt4 key购买 nike

我需要想办法用 php/regex 将字符串(下面的示例)拆分为空格分隔的单词。下面是一些字符串示例和我的预期输出:

SomeRANDOMString -> 一些随机字符串
ANOTHERRandomString -> ANOTHER 随机字符串
缩略语 -> 缩略语
字符串 -> 字符串

到目前为止,我目前无法使用的解决方案是:

$title = preg_replace("/([a-z])([A-Z])/", "$1 $2", $title);

上面的字符串输出为:

一些随机字符串
另一个随机字符串
简称
字符串

最佳答案

$title = implode(' ', preg_split('/(?<=[a-z])(?=[A-Z])|(?=[A-Z][a-z])/',
$title, -1, PREG_SPLIT_NO_EMPTY)));

(?<=[a-z])(?=[A-Z])当前一个字符为小写且下一个字符为大写时,正则表达式的一部分将匹配,因此这将导致在正确的位置拆分字符串,如 'SomeRANDOM''RandomString' . (?=[A-Z][a-z])当接下来的两个字符是大写字母后跟小写字母时,部分将匹配,这将导致字符串拆分,如 'ANOTHERRandom' . PREG_SPLIT_NO_EMPTY标志防止在字符串的最开头进行拆分,并且 implode()用于转换preg_split()返回的数组到以空格分隔的字符串。

关于php - 将 StudlyCaps 字符串拆分为单词,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16923576/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com