在每个大写字母之前拆分驼峰式字符串中的单词

问题描述 投票:0回答:5

我有这样的字符串:

$a = 'helloMister';
$b = 'doggyWaltz';
$c = 'bumWipe';
$d = 'pinkNips';

如何才能在大写字母处爆炸?

php string split uppercase camelcasing
5个回答
121
投票

如果要将

helloMister
拆分为
hello
Mister
,您可以使用
preg_split
通过正向先行断言在大写字母之前的某个点拆分字符串:

$pieces = preg_split('/(?=[A-Z])/',$str);

如果你想将其拆分为

hello
ister
你可以这样做:

$pieces = preg_split('/[A-Z]/',$str);

11
投票

查找preg_split

$result = preg_replace("([A-Z])", " $0", "helloMister");
print_r(explode(' ', $result));

黑客攻击。 只是输入字符串中不要有空格。


0
投票

扩展马修的答案,这非常有效,

$arr = preg_replace("([A-Z])", " $0", $str);
$arr = explode(" ",trim($arr));

0
投票

进一步了解所选答案。

如果您在文本中处理缩写词,它会将

OOP
更改为
O O P

然后,您也可以使用

preg_split('/(?=[A-Z][a-z])/', $text)
向前查找小写字母,以完全捕获单词。


-1
投票

看看preg_split,它就像explode,但采用正则表达式

preg_split('~[A-Z]~',$inputString)
© www.soinside.com 2019 - 2024. All rights reserved.