Tôi đang tìm cách ngắn nhất, đơn giản và thanh lịch nhất để đếm số lượng chữ in hoa trong một chuỗi nhất định.cách đơn giản nhất, ngắn nhất để đếm chữ in hoa trong chuỗi bằng php?
Trả lời
function count_capitals($s) {
return strlen(preg_replace('![^A-Z]+!', '', $s));
}
cletus cant write code. nó từ đâu đến? –
Sẽ không hoạt động với các ký tự utf-8 đặc biệt từ nhiều ngôn ngữ. –
Đây không phải là ngắn nhất, nhưng được cho là đơn giản nhất vì regex không phải được thực thi. Thông thường tôi muốn nói điều này sẽ nhanh hơn vì logic và kiểm tra rất đơn giản, nhưng PHP luôn làm tôi bất ngờ với tốc độ nhanh và chậm khi so sánh với những thứ khác.
function capital_letters($s) {
$u = 0;
$d = 0;
$n = strlen($s);
for ($x=0; $x<$n; $x++) {
$d = ord($s[$x]);
if ($d > 64 && $d < 91) {
$u++;
}
}
return $u;
}
echo 'caps: ' . capital_letters('HelLo2') . "\n";
Giống như trong C! – alex
Chức năng * đếm \ _capitals * nhanh hơn nhiều. Với các chuỗi rất ngắn * đếm \ _capitals * chỉ nhanh hơn một chút nhưng với đoạn đầu tiên của "Lorem ipsum ..." là 0,03 giây để chạy 3000 lần lặp so với 1,8 giây để chạy cùng một chuỗi thông qua hàm * capital \ _letters * 3000 lần. –
tôi muốn cung cấp một giải pháp, có lẽ không tao nhã, nhưng hữu ích:
$mixed_case = "HelLo wOrlD";
$lower_case = strtolower($mixed_case);
$similar = similar_text($mixed_case, $lower_case);
echo strlen($mixed_case) - $similar; // 4
Có vẻ như giải pháp này sẽ hoạt động ngay cả đối với các chữ cái viết hoa có dấu phụ trên chúng. +1 – LittleTiger
George Garchagudashvili Giải pháp là tuyệt vời, nhưng nó không thành công nếu các chữ thường chứa dấu hoặc dấu.
Vì vậy, tôi đã làm một sửa chữa nhỏ để cải thiện phiên bản của mình, mà làm việc cũng với thấp hơn trường hợp nhấn mạnh chữ:
public static function countCapitalLetters($string){
$lowerCase = mb_strtolower($string);
return strlen($lowerCase) - similar_text($string, $lowerCase);
}
- 1. Đếm chữ hoa trong chuỗi bằng cách sử dụng perl
- 2. Cách đơn giản nhất để tăng ngày trong PHP?
- 3. Cách tìm chuỗi ngắn nhất trong danh sách bằng Python
- 4. Cách đơn giản để đếm các nguyên âm trong một chuỗi trong PHP?
- 5. Cách đơn giản nhất để gửi tin nhắn ngắn bằng TCP/IP
- 6. Cách đơn giản nhất để SSH bằng Python là gì?
- 7. Cách đơn giản nhất để in ra nội dung của trường văn bản trong SQL Server
- 8. Nén chuỗi ngắn thực sự đơn giản
- 9. Cách nhanh nhất để tìm thấy nhân vật chữ hoa đầu tiên trong một chuỗi
- 10. Java: Cách đơn giản nhất để có được từ cuối cùng trong một chuỗi
- 11. Cách tốt nhất để in các báo cáo đơn giản trong java
- 12. đơn giản nhất cách để truy vấn XML trong Java
- 13. Cách tốt nhất để mã hóa một chuỗi rất ngắn trong PHP là gì?
- 14. Tạo ID duy nhất ngắn PHP bằng cách sử dụng auto_increment?
- 15. Làm thế nào để thay thế chữ in hoa thành chữ thường bằng regex trong Eclipse?
- 16. cách đơn giản nhất để bắt đầu một quá trình mới/thread trong PHP
- 17. Viết hoa chữ hoa đầu tiên và chữ thường viết hoa trong một chuỗi
- 18. Cách đơn giản nhất để kiểm tra đơn vị Mã C bằng Python
- 19. Cách đơn giản nhất để phát mp3 từ Visual C++
- 20. Cách ngắn nhất để kiểm tra xem biến có chứa số nguyên dương bằng PHP không?
- 21. Cách ngắn nhất để đếm số lượng mục trong bộ tạo/trình lặp là gì?
- 22. Cách tốt nhất để phân tích ngữ pháp đơn giản?
- 23. Symfony2: Cách đơn giản nhất để có được url RESTful
- 24. cách tốt nhất để so sánh hai chuỗi và ký hiệu chữ hoa và chữ thường của chúng
- 25. Cách thay đổi chuỗi thành chữ hoa
- 26. VBScript: Cách đơn giản nhất để định dạng chuỗi là gì?
- 27. Cách đơn giản nhất để sao chép int thành byte []
- 28. Cách đơn giản nhất để tạo Google Map mashup?
- 29. Cách đơn giản nhất để xuất bản qua Zeroconf/Bonjour?
- 30. Cách đơn giản nhất để chuyển đổi XML sang HTML bằng XSLT trong C#?
Nếu bạn muốn để lừa: strlen (strtoupper ($ str));) –
đơn giản nhất và thanh lịch nhất! = mã golf –
str_replace (phạm vi ('A', 'Z'), '', $ str, $ num_caps); echo $ num_caps; – GZipp