Ruby, poznat po svojoj moći i fleksibilnosti, ističe se i u efikasnom radu sa tekstom. U ovom tekstu istražićemo kako se u Ruby-ju koriste stringovi, pokazujući vam načine za njihovu obradu, analizu i transformaciju.
1. Početak rada sa stringovima
Kao i u mnogim programskim jezicima, stringovi u Ruby-ju se formiraju korišćenjem dvostrukih navodnika („).
ruby
ime = "Marko"
Ovaj isječak koda kreira varijablu ime
i dodjeljuje joj vrijednost stringa „Marko“.
2. Osnovne operacije nad stringovima
* Nadovezivanje: Spajanje stringova se obavlja operatorom +
ili <<
.
ruby
ime = "Marko "
prezime = "Marković"
puno_ime = ime + prezime
puno_ime
sada sadrži „Marko Marković“.
* Dodavanje znakova: Dodavanje znakova na početak ili kraj stringa se postiže operatorima +
ili <<
.
ruby
ime = "Marko"
ime << "!"
Sada ime
ima vrijednost „Marko!“.
* Pristup pojedinačnim znakovima: Pristup pojedinačnim znakovima unutar stringa moguć je putem indeksiranja, počevši od 0.
ruby
ime = "Marko"
prvi_znak = ime[0]
Varijabla prvi_znak
sada sadrži slovo „M“.
* Određivanje dužine stringa: Dužina stringa se dobija korišćenjem metode length
.
ruby
ime = "Marko"
duzina = ime.length
duzina
ima vrijednost 5.
3. Metode za manipulaciju stringovima
Ruby nudi bogat izbor metoda za rad sa stringovima. Neke od najkorisnijih su:
* upcase
: Pretvara sva slova u stringu u velika.
ruby
ime = "marko"
ime.upcase
Rezultat je: „MARKO“.
* downcase
: Pretvara sva slova u stringu u mala.
ruby
ime = "MARKO"
ime.downcase
Rezultat je: „marko“.
* capitalize
: Pretvara prvo slovo u veliko, a ostala u mala.
ruby
ime = "marko"
ime.capitalize
Rezultat je: „Marko“.
* strip
: Uklanja praznine sa početka i kraja stringa.
ruby
ime = " Marko "
ime.strip
Rezultat je: „Marko“.
* reverse
: Obrće redoslijed znakova u stringu.
ruby
ime = "Marko"
ime.reverse
Rezultat je: „okraM“.
* include?
: Provjerava da li string sadrži određeni niz znakova.
ruby
ime = "Marko"
ime.include?("ar")
Rezultat je: true.
ruby
ime.include?("xy")
Rezultat je: false.
4. Pretraga i zamjena stringova
* index
: Vraća poziciju prvog pojavljivanja određenog niza znakova u stringu.
ruby
ime = "Marko"
ime.index("a")
Rezultat je: 1.
* gsub
: Zamjenjuje sva pojavljivanja određenog niza znakova drugim nizom.
ruby
ime = "Marko"
ime.gsub("a", "e")
Rezultat je: „Merko“.
* sub
: Zamjenjuje samo prvo pojavljivanje određenog niza znakova drugim nizom.
ruby
ime = "Marko"
ime.sub("a", "e")
Rezultat je: „Merko“.
5. Dijeljenje stringova
* split
: Dijeli string na podstringove koristeći specificirani separator.
ruby
recenica = "Ovo je recenica."
recenica.split(" ")
Rezultat je: [„Ovo“, „je“, „recenica.“].
6. Formatiranje stringova
* %
: Omogućava formatiranje stringova korištenjem specifikatora formata.
ruby
ime = "Marko"
godine = 30
format = "Zdravo, %s! Imas %d godina."
format % [ime, godine]
Rezultat je: „Zdravo, Marko! Imas 30 godina.“
* #{}
: Slično kao %
, omogućava ubacivanje varijabli u string.
ruby
ime = "Marko"
godine = 30
pozdrav = "Zdravo, #{ime}! Imas #{godine} godina."
Varijabla pozdrav
sada sadrži „Zdravo, Marko! Imas 30 godina.“
7. Rad sa višelinijskim stringovima
Višelinijski stringovi se kreiraju pomoću trostrukih navodnika („““).
ruby
pesma = """
Ovo je pesma,
koja se proteze
kroz vise redova.
"""
puts pesma
će ispisati sadržaj pjesme u više redova.
8. Rad sa stringovima unutar funkcija
ruby
def pozdrav(ime)
"Zdravo, #{ime}!"
end
ime = „Marko“
puts pozdrav(ime)
Rezultat je: „Zdravo, Marko!“
Zaključak
Rad sa stringovima je temeljna vještina u programiranju, a Ruby nudi širok spektar mogućnosti za manipulaciju, analizu i transformaciju tekstualnih podataka. Savladavanjem ovih osnova, možete razvijati dinamične i interaktivne aplikacije koje efikasno obrađuju tekst.
Često postavljana pitanja (FAQ)
1. Kako provjeriti da li je string prazan?
ruby
ime = ""
ime.empty?
Rezultat je: true.
2. Kako spojiti više stringova u jedan?
ruby
ime = "Marko"
prezime = "Markovic"
puno_ime = ime + " " + prezime
Rezultat je: „Marko Markovic“.
3. Kako ukloniti praznine sa početka i kraja stringa?
ruby
ime = " Marko "
ime.strip
Rezultat je: „Marko“.
4. Kako izračunati broj znakova u stringu?
ruby
ime = "Marko"
ime.length
Rezultat je: 5.
5. Kako referencirati varijablu u stringu?
ruby
ime = "Marko"
godine = 30
pozdrav = "Zdravo, #{ime}! Imas #{godine} godina."
6. Kako zamijeniti dio stringa drugom riječi?
ruby
ime = "Marko"
ime.gsub("a", "e")
Rezultat je: „Merko“.
7. Kako pretvoriti sva slova u stringu u velika?
ruby
ime = "marko"
ime.upcase
Rezultat je: „MARKO“.
8. Kako pretvoriti sva slova u stringu u mala?
ruby
ime = "MARKO"
ime.downcase
Rezultat je: „marko“.
9. Kako razdvojiti string na podstringove koristeći separator?
ruby
recenica = "Ovo je recenica."
recenica.split(" ")
Rezultat je: [„Ovo“, „je“, „recenica.“].
10. Kako dodati znak na kraj stringa?
ruby
ime = "Marko"
ime << "!"
Rezultat je: „Marko!“.
Tagovi: Ruby, stringovi, programski jezik, programiranje, manipulacija stringovima, metode, funkcije, pretraga, zamjena, formatiranje, višelinijski stringovi