Како радити са стринговима у Ruby-ју

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