Sette store bokstaver i en streng

Ruby:
Sette store bokstaver i en streng

Hvordan:

Ruby tilbyr enkle metoder for manipulasjon av strenger, inkludert kapitalisering:

# Rubys innebygde metode
string = "hello WORLD"
capitalized_string = string.capitalize
puts capitalized_string # => "Hello world"

Veldig praktisk.

Rubys .capitalize metode er praktisk, men den gjør bare det første brevet stort. For mer kontroll eller for å sette stor bokstav på hvert ord i en streng (kjent som tittelkasus), kan det hende du vil bruke titleize metoden fra Rails ActiveSupport-utvidelsen, eller implementere den selv:

# Bruker ActiveSupports 'titleize' i Rails
require 'active_support/core_ext/string/inflections'
string = "hello world"
puts string.titleize # => "Hello World"
# En hjemmelaget løsning
string = "hello world"
capitalized_each_word = string.split.map(&:capitalize).join(' ')
puts capitalized_each_word # => "Hello World"

Denne metoden deler strengen inn i et ordnett, kapitaliserer hvert ord, og så setter dem sammen igjen med et mellomrom.

Personlig tar jeg denne ideen mye lenger i koden min. Jeg skrev min egen titleize metode som tar hensyn til små ord som “en” og “og”.