Ponovo stringovi

11.7 Ponovo stringovi 

Pitanje: Već si mi pokazao rad sa stringovima ranije. Zar ima još nešto što bi trebao da znam?
Odgovor: Da, ima! Stringovi su objekti i, kao takvi, poseduju razne metode, koji nam mogu poslužiti prilikom rada, pa tako, sa njima, možemo da proveravamo, menjamo i uklanjamo delove stringa. 
Kao što ti je poznato, stringovi, koje koristimo u našim programima, su objekti klase koja se naziva str. Neke korisne metode ove klase ću pokazati za tren, ali za kompletan spisak svih metoda, pogledaj:
>>> help(str) 
Ako si pročitao šta tamo piše, hajde malo da se igramo:
>>> ručak = 'Paradajz čorba' 
>>> ručak.startswith('Paradajz') 
True 
>>> 
Metoda startswith() nam vraća True ili False, u zavisnosti od toga da li naš string počinje sa nekim stringom prosleđenim u taj metod.
Možemo koristiti i operaciju in, jer su stringovi sekvence – on će proveriti da li je neki manji string deo našeg stringa:
>>> 'čorba' in ručak 
True 
>>> 
Postoji i find() metod, koji se koristi za lociranje položaja nekog elementa unutar stringa. Metod find() nam vraća broj koji predstavlja indeks (mesto) na kom je našao ono što želimo, ali (pažljivo!) će nam vratiti broj -1 ako nije pronašao traženi substring.
>>> ručak.find('čorba') 
9 
>>> ručak.find('Paradajz') 
0 
>>> ručak.find('krompir') 
-1 
>>> ručak.find('daj') 
4 
>>> 
Klasa str poseduje jedan jako koristan metod koji nam služi da spojimo stavke iz nekog niza, uz pomoć nekog stringa. Ova metoda je join() - i kada je koristimo, mi dobijamo string:
>>> disko = ['Malicija', 'Fenseraj', 'Splavovi', 'Rupa'] 
>>> spoj = '* idemo u *' 
>>> spoj.join(disko) 
'Malicija* idemo u *Fenseraj* idemo u *Splavovi* idemo u *Rupa' 
>>> 
A takođe, postoji i metoda koja služi za razdvajanje stringa na nekom mestu, i koja nam vraća listu:
>>> les = 'Možda ti naučiš Python, a možda Python nauči tebe.' 
>>> les.split(' ') 
['Možda', 'ti', 'naučiš', 'Python,', 'a', 'možda', 'Python', 'nauči', 'tebe.'] 
>>> les.split('a') 
['Možd', ' ti n', 'učiš Python, ', ' možd', ' Python n', 'uči tebe.'] 
>>> les.split('e') 
['Možda ti naučiš Python, a možda Python nauči t', 'b', '.'] 
>>> 
Igranje sa ovim, može da nam da veoma vesele rezultate:
>>> '*-*-*-*'.join(les.split(' ')) 
'Možda*-*-*-*ti*-*-*-*naučiš*-*-*-*Python,*-*-*-*a*-*-*-*možda*-*-*-*Python*-*-*-*nauči*-*-*-*tebe.' 
>>> 
Za domaći, istraži malo metode koje ti klasa stringova pruža i igraj se malo sa njima, jer će nam biti korisni za ono što ćemo raditi u sledećem poglavlju ovog tutorijala.

11.6 Reference Indeks 11.8 Rezime

Primjedbe

Popularno

Kako televizija štetno utiče na Vaše zdravlje finansije?

Da li je TV kviz Slagalica "prevara"?

Tu je novi Qt creator 4.4.0!

Kada prijatelji odlaze

Microsoft objavio - nova verzija Windowsa stiže...

Opet su se pojavili lažni kuponi brenda "IDEA" na društvenim mrežama

Najgore obrade velikih rock hitova

Sitnije promene na blogu...

Poslednji pozdrav izgubljenom vremenu

Ne, Marlboro ne deli besplatne cigarete!