Chuyển chữ cái đầu tiên của chuỗi thành chữ hoa

Ruby:
Chuyển chữ cái đầu tiên của chuỗi thành chữ hoa

Làm thế nào:

Ruby cung cấp các phương thức đơn giản cho việc thao tác chuỗi, bao gồm cả việc viết hoa:

# Phương thức có sẵn của Ruby
chuoi = "hello WORLD"
chuoi_viet_hoa = chuoi.capitalize
puts chuoi_viet_hoa # => "Hello world"

Rất tiện lợi.

Phương thức .capitalize của Ruby rất tiện dụng nhưng chỉ viết hoa chữ cái đầu tiên. Để có nhiều điều khiển hơn hoặc muốn viết hoa mỗi từ trong chuỗi (gọi là dạng tựa đề), bạn có thể muốn sử dụng phương thức titleize từ phần mở rộng ActiveSupport của Rails, hoặc tự triển khai nó:

# Sử dụng 'titleize' của ActiveSupport trong Rails
require 'active_support/core_ext/string/inflections'
chuoi = "hello world"
puts chuoi.titleize # => "Hello World"
# Một giải pháp tự làm
chuoi = "hello world"
vu_viet_hoa_moi_tu = chuoi.split.map(&:capitalize).join(' ')
puts vu_viet_hoa_moi_tu # => "Hello World"

Phương thức này chia chuỗi thành một mảng các từ, viết hoa từng từ, sau đó ghép chúng lại với một khoảng trắng.

Cá nhân tôi, tôi đưa ý tưởng này xa hơn nhiều trong mã của mình. Tôi đã viết phương thức titleize của mình, mà xem xét đến những từ nhỏ như “a” và “the”.