Ruby:
Uthenting av delstrenger
Hvordan:
streng = "Hei, Norge!"
substring = streng[4,5] # Henter ut delstreng fra posisjon 4 og tar med 5 tegn
puts substring # => Norge
# Eller bruk range for å spesifisere start og slutt
substring_range = streng[4..8]
puts substring_range # => Norge
# Hvis du vil ha delstrengen fra et startpunkt til strengens slutt:
tail_substring = streng[4..-1]
puts tail_substring # => Norge!
Deep Dive
Å hente ut substrings er en grunnleggende operasjon i de fleste programmeringsspråk, inkludert Ruby. Ruby’s fleksible substring-metoder har røtter i eldre språk som Perl. Ruby gir både indekser og rekkevidde-baserte alternativer for å hente ut deler av en streng. Det som står ut med Ruby, er dens klarhet og syntaktisk sukker som gjør at disse operasjonene føles intuitivt.
En alternativ måte å trekke ut substrings på er å bruke slice
og slice!
metoder:
streng = "Hei, Norge!"
substring = streng.slice(4, 5)
puts substring # => Norge
slice!
vil i tillegg endre den opprinnelige strengen ved å fjerne den ekstraherte delen:
streng = "Hei, Norge!"
streng.slice!(0,4)
puts streng # => Norge!
Det er også viktig å vite at hvis indekser peker utenfor strengens lengde, vil Ruby returnere nil
:
puts "Hallo".slice(10, 2) # => nil
Implementasjonsdetaljer som disse er viktige å vite for å unngå overraskelser i koden.
Se Også:
- Ruby’s offisielle dokumentasjon om strenger: https://ruby-doc.org/core-3.1.0/String.html
- Tutorial om Ruby substrings: https://www.rubyguides.com/2019/01/ruby-string-methods/
- Ruby API-dokumentasjon: http://ruby-doc.com/core/String.html#method-i-slice