Giống như Python? Tôi đang cố kiểm tra xem mỗi ký tự trong một chuỗi có phải là chữ số hay không?Ruby không có isalpha?
Trả lời
Có một lớp nhân vật đặc biệt cho việc này:
char.match(/^[[:alpha:]]$/)
Điều đó sẽ phù hợp với một ký tự chữ cái duy nhất. Nó cũng có vẻ làm việc cho UTF-8.
Để kiểm tra toàn bộ một chuỗi:
string.match(/^[[:alpha:]]+$/)
Hãy ghi nhớ điều này không chiếm không gian hoặc dấu chấm câu.
Cảm ơn. Tôi đoán trong Ruby, bạn phải sử dụng RegEx. – sivabudh
Bạn luôn có thể thêm phương thức 'String # isalpha?' Nếu bạn thích kiểu như Sergio gợi ý. – tadman
Tôi không biết câu trả lời đúng như thế nào. [[: alpha:]] dành cho bảng chữ cái trong khi OP đã yêu cầu kiểm tra ký tự chữ và số. –
Bạn có thể cuộn của riêng bạn :) Thay thế alnum
bằng alpha
nếu bạn chỉ muốn khớp các chữ cái, không có số.
class String
def alpha?
!!match(/^[[:alnum:]]+$/)
end
end
'asdf234'.alpha? # => true
'[email protected]#$'.alpha? # => false
Hàm python chỉ hoạt động đối với ký tự ASCII; regex [[: alnum]] sẽ làm những thứ như "tëst" .alpha? => true. match/\w/
trận nhấn mạnh, do đó lá
def isalpha(str)
!str.match(/[^A-Za-z]/)
end
để tạo lại hành vi Python.
- 1. isalpha() đưa ra một xác nhận
- 2. Sự khác nhau giữa isAlpha và isLetter là gì?
- 3. isalpha (<mychar>) == đánh giá đúng sai?
- 4. Ruby: 'mới' không có lớp
- 5. Ruby có mkdir -p không?
- 6. Ruby không có giá trị không đổi?
- 7. Có Regex Delete trong Ruby không?
- 8. Có trình biên dịch Ruby .NET không?
- 9. Có thể node.js thay thế Ruby không?
- 10. Có một add_days trong datetime ruby không?
- 11. Có thể có một dòng mỗi khối trong Ruby không?
- 12. Có tương đương print_r hoặc var_dump trong Ruby/Ruby trên Rails không?
- 13. Tôi có cần biết Ruby để học Ruby on Rails không?
- 14. tương đương với chữ "có" của Ruby trong Ruby
- 15. Ruby có bất kỳ lớp định dạng số nào không?
- 16. Có gì giống như Java Quartz trong ruby không?
- 17. Có tương đương Log4J cho Ruby, Log4Ruby không?
- 18. Rails (hoặc Ruby): Có/Không thay vì True/False
- 19. Ruby có phải là nền tảng chéo như Java không?
- 20. Ruby YAML viết mà không có bí danh
- 21. Ruby on rails "Không có tuyến đường phù hợp"
- 22. Lệnh "ruby" không có gì trên máy Mac của tôi
- 23. Vòng BigDecimal của Ruby: Đây có phải là lỗi không?
- 24. Có trình bao bọc OpenCL tốt cho Ruby không?
- 25. Khối DSL không có đối số trong ruby
- 26. Có câu lệnh goto nào trong Ruby không?
- 27. Có phải $ PROGRAM_NAME giống với $ 0 bằng ruby không?
- 28. Ruby có hỗ trợ loại gợi ý không?
- 29. rbenv không hiển thị các phiên bản ruby có sẵn
- 30. Có "quy tắc" cho đường cú pháp của Ruby không?
Tôi đã thử googling nhưng không tìm thấy bất cứ điều gì. Vì vậy, tôi chỉ muốn xác nhận với SO. – sivabudh
Bạn có thể sử dụng regexes cho việc này. –
Được rồi, cảm ơn Sergio. – sivabudh