$string = "MaryGoesToSchool";
$expectedoutput = "Mary Goes To School";
Trả lời
gì về một cái gì đó như thế này:
$string = "MaryGoesToSchool";
$spaced = preg_replace('/([A-Z])/', ' $1', $string);
var_dump($spaced);
này:
- Phù hợp với chữ hoa
- Và thay thế mỗi một trong số họ bởi một không gian, và những gì đã xuất hiện
Điều này cho kết quả này:
string ' Mary Goes To School' (length=20)
Và sau đó bạn có thể sử dụng:
$trimmed = trim($spaced);
var_dump($trimmed);
Để loại bỏ các không gian ngay từ đầu, mà được bạn:
string 'Mary Goes To School' (length=19)
Hãy thử điều này:
$expectedoutput = preg_replace('/(\p{Ll})(\p{Lu})/u', '\1 \2', $string);
Các \p{…}
ký hiệu được mô tả nhân vật qua Unicode character properties; \p{Ll}
biểu thị chữ cái thường và \p{Lu}
chữ hoa.
cách tiếp cận khác sẽ là:
$expectedoutput = preg_replace('/\p{Lu}(?<=\p{L}\p{Lu})/u', ' \0', $string);
Ở đây mỗi chữ cái viết hoa chỉ được thêm vào phía trước với một không gian nếu nó trước bằng một lá thư khác. Vì vậy, MaryHasACat
cũng sẽ hoạt động.
Dưới đây là một giải pháp không regex mà tôi sử dụng để định dạng chuỗi camelCase thành định dạng dễ đọc hơn:
<?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
?>
Downvoter - tại sao? – alexn
Hãy thử:
$string = 'MaryGoesToSchool';
$nStr = preg_replace_callback('/[A-Z]/', function($matches){
return $matches[0] = ' ' . ucfirst($matches[0]);
}, $string);
echo trim($nStr);
- 1. Làm cách nào để thay thế tất cả các khoảng trống bằng% 20 trong C#
- 2. Làm thế nào để thay thế chữ in hoa thành chữ thường bằng regex trong Eclipse?
- 3. Không phân biệt chữ hoa chữ thường thay thế tất cả
- 4. Thay thế tất cả các ký tự khoảng trắng
- 5. Lưu trữ tất cả các chữ viết hoa trong BibTeX
- 6. Làm cách nào để thay đổi tất cả các giá trị đầu vào thành chữ hoa bằng Jquery?
- 7. Có cách nào thay thế cho chuỗi.Địa chỉ không phân biệt chữ hoa chữ thường không?
- 8. Làm thế nào để duy trì các thẻ phân biệt chữ hoa chữ thường trong BeautifulSoup.BeautifulStoneSoup?
- 9. Thay thế gian với dấu gạch ngang và làm cho tất cả chữ thường
- 10. cách kiểm soát hoặc thay đổi tất cả văn bản thành chữ hoa
- 11. jQuery thay thế khoảng trống trong chữ
- 12. Làm thế nào để sử dụng Visual Studio Tìm và Thay thế để chuyển đổi chữ hoa chữ thường thành chữ thường với Regex
- 13. Thay thế không phân biệt chữ hoa chữ thường
- 14. Làm thế nào để thay thế chuỗi trong tất cả các tài liệu trong Mongo
- 15. làm thế nào để làm cho tất cả các chữ cái trong thủ đô chuỗi?
- 16. Làm thế nào để loại bỏ tất cả các khoảng trắng từ đầu hoặc cuối chuỗi?
- 17. Làm thế nào để thay đổi khoảng cách chữ UILabel/UIFont?
- 18. Làm thế nào để thay thế các giá trị trống (null) bằng 0 cho tất cả các bản ghi?
- 19. Làm thế nào để thay thế tất cả các ký tự trong một chuỗi Java với các ngôi sao
- 20. Cách tìm tất cả các chuỗi chữ hoa trong bảng MySQL?
- 21. Làm thế nào để có $ {include_guard_symbol} trong Eclipse với đường dẫn tệp chữ hoa?
- 22. Làm thế nào để thay đổi tên bảng MySQL trong máy chủ Linux thành phân biệt chữ hoa chữ thường?
- 23. Cách thay đổi chuỗi thành chữ hoa
- 24. Làm thế nào để viết hoa chữ hoa đầu tiên trong một chuỗi?
- 25. Làm thế nào tôi có thể kiểm tra một từ đã là tất cả chữ hoa trong Ruby?
- 26. Thay thế tất cả các url trong một div
- 27. Làm thế nào để thay đổi các chữ cái trong một từ từ chữ hoa sang chữ thường hoặc ngược lại (trường hợp hoán đổi)?
- 28. Làm cách nào để xóa tất cả các khoảng thời gian?
- 29. Regular Expression thay thế hoa trong C#
- 30. UILabel làm thế nào để thắt chặt khoảng cách giữa các chữ cái
Làm thế nào để bạn mong đợi đầu ra cho "MaryHasACat"? –