$string = "MaryGoesToSchool";
$expectedoutput = "Mary Goes To School";
9
A
回答
17
什么是这样的:
$string = "MaryGoesToSchool";
$spaced = preg_replace('/([A-Z])/', ' $1', $string);
var_dump($spaced);
此:
- 匹配大写字母
- 并用空格代替它们中的每一个,什么是匹配
它给出了这个输出:
string ' Mary Goes To School' (length=20)
然后你可以使用:
$trimmed = trim($spaced);
var_dump($trimmed);
要删除开头的空间,它可以帮助您:
string 'Mary Goes To School' (length=19)
6
尝试这种情况:
$expectedoutput = preg_replace('/(\p{Ll})(\p{Lu})/u', '\1 \2', $string);
的\p{…}
符号经由Unicode character properties描述字符; \p{Ll}
表示一个小写字母,而\p{Lu}
表示一个大写字母。
另一种方法是这样的:
$expectedoutput = preg_replace('/\p{Lu}(?<=\p{L}\p{Lu})/u', ' \0', $string);
这里,如果它是由另一个字母开头每个大写字母只用空格前缀。所以MaryHasACat
也将工作。
1
这里是一个非正则表达式的解决方案,我用于将camelCase字符串格式化为更易读的格式:
<?php
function formatCamelCase($string) {
$output = "";
foreach(str_split($string) as $char) {
strtoupper($char) == $char and $output and $output .= " ";
$output .= $char;
}
return $output;
}
echo formatCamelCase("MaryGoesToSchool"); // Mary Goes To School
echo formatCamelCase("MaryHasACat"); // Mary Has A Cat
?>
+0
Downvoter - 为什么? – alexn 2010-01-10 11:27:36
0
尝试:
$string = 'MaryGoesToSchool';
$nStr = preg_replace_callback('/[A-Z]/', function($matches){
return $matches[0] = ' ' . ucfirst($matches[0]);
}, $string);
echo trim($nStr);
相关问题
- 1. 如何用星号替换所有大写字母?
- 2. 用大写字母替换“ - ”字母
- 3. 如何用换行符替换第一个空格后跟大写字母?
- 4. 替换不是字母用空格字符出现的所有
- 5. 将所有大写字母替换为小写字母,除了urlencoded字符串
- 6. 如何用大写字母替换大写字母后跟一个句点?
- 7. 用ucword替换所有大写字词
- 8. 如何用空格替换所有非英文字母(字符)xslt
- 9. 破折号替换空间,使所有字母小写
- 10. 如何使用awk将小写字母替换为大写字母'C'?
- 11. 用python中的字母替换空格
- 12. MySQL在字段中搜索大写字母,然后用空格替换
- 13. 用preg_replace替换大写字母和非大写字符串
- 14. nvda regexp把所有大写字母之间的空格?
- 15. 如何用大写字母替换特定字符?
- 16. 从actionscript中的字符串替换所有空格,符号,数字,大写字母的最佳方法?
- 17. 替换所有空格字符
- 18. vbscript - 替换所有空格
- 19. char-array:在java中用大写字母替换字母
- 20. 如何替换字符串的大写字母(和其余字)
- 21. 如何在JavaScript中用空格替换所有的\字符串?
- 22. 如何用下划线替换大写字母?
- 23. 如何将大写字母更改为小写字母和空格以强调
- 24. 如何搜索并用适当的大小写替换大写字母
- 25. 插入空格后大写字母
- 26. 在大写字母前插入空格
- 27. 将句子中所有字母从大写字母转换为小写字母,除了所有大写字母都使用R
- 28. 将小写字母替换成小写字母和大写字母加大写字母替换字符串的后缀
- 29. 如何小写字母转换为大写字母和大写字母为小写字母
- 30. 替换除字母,数字,空格和下划线之外的所有字符
你怎么能指望的 “MaryHasACat” 输出? – 2010-01-10 10:58:39