Ruby, kao programski jezik, ističe se svojom fleksibilnošću i jednostavnošću upotrebe. Nudi obiman skup ugrađenih funkcija za obradu tekstualnih podataka. Bez obzira na to da li ste početnik ili iskusni programer, razumevanje ovih funkcija je ključno za efikasnu manipulaciju tekstom u Ruby-ju.
Ovaj vodič će vas sprovesti kroz različite metode za rad sa stringovima u Ruby-ju. Pomoći će vam da savladate osnove i napredujete ka kompleksnijim zadacima obrade teksta.
Uvod u string metode u Ruby-ju
U Ruby-ju, stringovi su predstavljeni kao objekti, što znači da se nad njima mogu pozivati različite metode. Ove metode vam omogućavaju da obavljate različite operacije sa stringovima, od jednostavnog spajanja do složenih pretraga i zamena.
Osnovne operacije sa stringovima
Počećemo sa nekim od najosnovnijih metoda, koje su vam verovatno već poznate iz drugih programskih jezika:
* length
: Daje dužinu stringa.
ruby
text = "Pozdrav svete!"
puts text.length
Rezultat je: 14
* upcase
: Konvertuje sva slova stringa u velika slova.
ruby
text = "pozdrav svete!"
puts text.upcase
Rezultat je: POZDRAV SVETE!
* downcase
: Konvertuje sva slova stringa u mala slova.
ruby
text = "POZDRAV SVETE!"
puts text.downcase
Rezultat je: pozdrav svete!
* capitalize
: Pretvara prvo slovo stringa u veliko, a ostala u mala slova.
ruby
text = "pozdrav svete!"
puts text.capitalize
Rezultat je: Pozdrav svete!
* reverse
: Vraća obrnuti string.
ruby
text = "pozdrav svete!"
puts text.reverse
Rezultat je: !etevs vardzop
* strip
: Uklanja praznine sa početka i kraja stringa.
ruby
text = " Pozdrav svete! "
puts text.strip
Rezultat je: Pozdrav svete!
Metode za pretraživanje i zamenu
Pored osnovnih metoda, Ruby pruža i veliki broj specijalizovanih funkcija za pretraživanje i zamenu delova stringa. Ovo su neke od najčešće korišćenih:
* include?
: Proverava da li string sadrži određeni podstring.
ruby
text = "Pozdrav svete!"
puts text.include?("sve")
Rezultat je: true
ruby
puts text.include?("neki drugi tekst")
Rezultat je: false
* index
: Vraća poziciju prvog pojavljivanja određenog podstringa unutar stringa.
ruby
text = "Pozdrav svete!"
puts text.index("sve")
Rezultat je: 8
* gsub
: Zamenjuje sva pojavljivanja određenog podstringa drugim podstringom.
ruby
text = "Pozdrav svete!"
puts text.gsub("svete", "ljudi")
Rezultat je: Pozdrav ljudi!
* sub
: Zamenjuje samo prvo pojavljivanje određenog podstringa drugim podstringom.
ruby
text = "Pozdrav svete!"
puts text.sub("svete", "ljudi")
Rezultat je: Pozdrav ljudi!
Metode za razdvajanje stringova
Kada radimo sa stringovima u Ruby-ju, često je potrebno razdvojiti ih u manje delove. Za ovo postoji nekoliko metoda:
* split
: Deli string na podstringove koristeći određeni separator.
ruby
text = "Pozdrav, svete!"
puts text.split(",")
Rezultat je: [„Pozdrav“, “ svete!“]
* chop
: Uklanja poslednji karakter iz stringa.
ruby
text = "Pozdrav svete!"
puts text.chop
Rezultat je: Pozdrav svete
* chomp
: Uklanja poslednji karakter iz stringa, samo ako je taj karakter novi red.
ruby
text = "Pozdrav svete!\n"
puts text.chomp
Rezultat je: Pozdrav svete!
Metode za manipulaciju stringovima
Pored gore navedenih, Ruby nudi i druge metode za manipulaciju stringovima, kao što su:
* join
: Spaja elemente niza stringova u jedan string, koristeći određeni separator.
ruby
niz = ["Pozdrav", "svete!"]
puts niz.join(" ")
Rezultat je: Pozdrav svete!
* insert
: Umeće novi string u postojeći string na određenoj poziciji (indeksu).
ruby
text = "Pozdrav svete!"
puts text.insert(7, " divan ")
Rezultat je: Pozdrav divan svete!
* delete
: Uklanja sva pojavljivanja određenog karaktera iz stringa.
ruby
text = "Pozdrav svete!"
puts text.delete("!")
Rezultat je: Pozdrav svete
Napredne metode stringova
U Ruby-ju postoji niz naprednih metoda za rad sa stringovima, koje uključuju:
* match
: Proverava da li string odgovara određenom obrascu (regularnom izrazu).
ruby
text = "Pozdrav svete!"
puts text.match(/svete/)
Rezultat je: #<MatchData „svete“>
* scan
: Vraća niz podstringova koji odgovaraju određenom obrascu (regularnom izrazu).
ruby
text = "Pozdrav svete!"
puts text.scan(/sv/)
Rezultat je: [„sv“]
* each_char
: Iteracija kroz svaki karakter u stringu.
ruby
text = "Pozdrav svete!"
text.each_char do |znak|
puts znak
end
Rezultat je:
P
o
z
d
r
a
v
s
v
e
t
e
!
Zaključak
Metode za rad sa stringovima su moćan alat u rukama svakog Ruby programera. Razumevanje ovih metoda vam omogućava da efikasno manipulišete tekstom, vršite složene pretrage i zamene, razdvajate stringove na delove, i izvršavate mnoge druge operacije.
Ovo je samo kratak pregled string metoda u Ruby-ju. Postoji još mnogo drugih metoda koje vam mogu pomoći da radite sa tekstom na kreativan i efikasan način.
Često postavljana pitanja (FAQs)
1. Kako se kreira novi string u Ruby-ju?
Novi string se može kreirati pomoću dvostrukih navodnika: text = "Pozdrav svete!"
2. Kako se može pristupiti pojedinačnim karakterima u stringu?
Pojedinačnim karakterima u stringu se pristupa preko indeksa, počevši od nule: text = "Pozdrav svete!"; puts text[0]
Rezultat je: P
3. Šta je regularni izraz i kako se koristi?
Regularni izraz je obrazac koji se koristi za pronalaženje i manipulisanje tekstom. Može se koristiti za pronalaženje specifičnih karaktera, reči ili fraza u stringu.
4. Kako da proverim da li je string prazan?
Možete koristiti metodu empty?
da biste proverili da li je string prazan: text = ""; puts text.empty?
Rezultat je: true
5. Kako mogu da spojim dva stringa?
Stringovi se mogu spajati pomoću operatora „+“: text1 = "Pozdrav"; text2 = "svete!"; puts text1 + " " + text2
Rezultat je: Pozdrav svete!
6. Kako mogu da konvertujem string u broj?
String se može konvertovati u broj koristeći metode to_i
ili to_f
: text = "123"; puts text.to_i
Rezultat je: 123
7. Šta su interpolacije stringova?
Interpolacije stringova vam omogućavaju da ubacite promenljive unutar stringa direktno: ime = "Petar"; puts "Zdravo, #{ime}!"
Rezultat je: Zdravo, Petar!
8. Koja je razlika između chop
i chomp
metoda?
Metoda chop
uklanja poslednji karakter iz stringa, dok metoda chomp
uklanja poslednji karakter samo ako je to znak za novi red.
9. Kako mogu da uporedim dva stringa?
Dva stringa se mogu uporediti korišćenjem operatora ==
, !=
, <
, >
, <=
i >=
.
10. Gde mogu da pronađem više informacija o string metodama?
Ruby dokumentacija je odličan resurs za više informacija o string metodama: https://ruby-doc.org/core-2.7.1/String.html
Tagovi: Ruby, stringovi, programiranje, metode, manipulacija tekstom, regularni izrazi, programski jezik, logika programiranja, dokumentacija, tutorijali, vodiči, učenje.