我正在尝试分割一个字符串,如:" ThisIsA STRING"
我希望它像这样分开:"这是一个STRING"
我现在的正则表达式给了我以下结果:"这是一个问题"
$filname_desc = preg_replace('/([a-z0-9])?([A-Z])/','$1 $2',$filname_desc);
如果以下字符是小写,是否可以将正则表达式修改为仅拆分?
答案 0 :(得分:6)
php> $str = "ThisIsA STRING"
php> echo preg_replace('/([a-z])([A-Z])/','$1 $2', $str)
This Is A STRING
答案 1 :(得分:1)
尝试
$filname_desc = preg_replace('/([a-z0-9]+)?([A-Z]+)/','$1 $2',$filname_desc);
答案 2 :(得分:0)
使用Lookahead:
$filname_desc = preg_replace('/([a-z0-9])(?=[A-Z])/','$1 ',$filname_desc);
[a-z0-9]
仅在后跟[A-Z]
时匹配。
答案 3 :(得分:0)
删除'?'括号之间的符号。