Cilj ovog teksta je da pomogne učenicima da steknu temeljnije razumevanje podstringova u programskom jeziku Python.
Naučićete kako da formirate podstring, izdvajate njegove delove iz stringa i kako funkcionšu podstringovi u Python-u, uz pomoć nekoliko praktičnih primera. Osim toga, ispitaćemo i kako da utvrdimo da li određeni podstring postoji unutar nekog stringa.
Pre nego što krenemo, važno je da razumemo šta su string i podstring. String je niz Unicode karaktera, koji se sastoji od alfanumeričkih i/ili specijalnih znakova. Podstring se definiše kao deo niza karaktera unutar većeg stringa.
Obradićemo sledeće teme:
- Kreiranje podstringova.
- Različite metode za izdvajanje podstringova.
- Brojanje pojavljivanja podstringa.
- Proveru prisustva podstringa u stringu.
Krenimo!
Kreiranje podstringova
Podstringovi se najčešće kreiraju tehnikom sečenja (slicing). Ova tehnika omogućava izdvajanje podstringova određivanjem graničnih indeksa: početnog indeksa, krajnjeg indeksa i koraka. Ovi parametri omogućavaju precizno izdvajanje željenih karaktera.
Sintaksa je sledeća:
string[početni_indeks: krajnji_indeks: korak]
Važno je napomenuti da indeksiranje u stringu počinje od nule.
Parametar `početni_indeks` označava indeks od kojeg počinje podstring. Ako ovaj element izostavimo prilikom sečenja, Python automatski pretpostavlja da je njegova vrednost nula.
`krajnji_indeks` je poslednji indeks podstringa. Ako ga ne navedemo, sečenje pretpostavlja da je njegova vrednost jednaka dužini celog stringa.
Korak određuje koji će se sledeći karakter uzeti u obzir nakon trenutnog. Uobičajena vrednost ovog parametra je jedan. Ako se parametar koraka izostavi, njegova vrednost se podrazumeva kao jedan.
Načini izdvajanja podstringova
Postoji nekoliko načina za izdvajanje podstringa iz stringa. Neki od njih su:
#1. Sečenje korišćenjem početnog i krajnjeg indeksa.
String = string[početni_indeks : krajnji_indeks]
U slučaju da želite da izdvojite ime osobe iz njenog punog imena, to biste uradili na sledeći način:
string = 'Petar Petrović' print(string[0:5])
Izlaz će biti:
Petar
#2. Sečenje korišćenjem početnog indeksa bez krajnjeg.
String= string[početni_indeks:]
Ovde navodimo samo od kog indeksa želimo da počnemo da izdvajamo karaktere – sečenje se nastavlja do poslednjeg indeksa celog stringa (indeks -1).
Primer:
string = 'Ovo je primer sečenja stringa pomoću početnog indeksa bez krajnjeg indeksa' print(string[11:])
Izlaz:
primer sečenja stringa pomoću početnog indeksa bez krajnjeg indeksa
#3. Sečenje korišćenjem krajnjeg indeksa bez početnog.
String = string[:krajnji_indeks]
Ovde navodimo poslednji karakter koji podstring treba da sadrži, a početak izostavljamo. Sečenje će prikazati podstring koji počinje od nultog indeksa stringa.
Primer:
string = 'Ovo je primer sečenja stringa pomoću krajnjeg indeksa bez početnog indeksa' print(string[:8])
Izlaz:
Ovo je p
#4. Sečenje celog stringa.
String = string[ : ]
U ovom slučaju, ne identifikujemo nijedan granični indeks, pa se vraća ceo string.
Primer:
string = 'Ovo je primer sečenja celog stringa' print(string[:])
Izlaz:
Ovo je primer sečenja celog stringa
#5. Izdvajanje jednog karaktera iz stringa.
String = string[indeks]
Ovde se izdvaja karakter sa preciznom vrednošću indeksa.
Primer:
string = 'Ovo je primer izdvajanja jednog karaktera iz stringa' print(string[8])
‘p’ će biti ispisano, jer ima vrednost indeksa 8.
#6. Sečenje pomoću početnog, krajnjeg indeksa i koraka.
Primer:
string = 'Ovo je primer sečenja stringa pomoću početnog indeksa, koraka i krajnjeg indeksa' print(string[11:24:1])
Kada je vrednost koraka postavljena na 1, dolazi do normalnog sečenja, i izlaz je sledeći:
sečenja strin
Ako koristimo isti primer, ali postavimo vrednost koraka na 2:
string = 'Ovo je primer sečenja stringa pomoću početnog indeksa, koraka i krajnjeg indeksa' print(string[11:24:2])
Sečenje karaktera će se vršiti u koracima od 2.
sčnj ti
Dakle, Python uzima svaki drugi karakter, počevši od pozicije 11.
#7. Obrtanje stringa pomoću negativnog koraka.
U ovom primeru, ceo string će biti prikazan od poslednjeg karaktera stringa do prvog.
string = 'Ovo je primer obrnutog stringa pomoću negativnog koraka' print(string[::-1])
Izlaz:
akorp ogitaven omćop agnirts otunrbo remip ej ovO
Negativan korak funkcioniše na sledeći način:
O
B
R
N
U
T
O
0
1
2
3
4
5
6
-6
-5
-4
-3
-2
-1
Početna vrednost indeksa obrnutog stringa počinje od 0 i završava se na 6. Negativan korak obrće vrednost indeksa poslednjeg karaktera i primenjuje je na prvi karakter, i negira tu vrednost.
Još primera sečenja:
Dobijanje prva četiri karaktera podstringa u stringu.
string = 'karakteri' print(string[0:4])
Izlaz:
kara
Provera prisustva podstringa u stringu
Python koristi ili funkciju `find()` ili operator `’in’` za proveru prisustva podstringa u stringu.
Primer korišćenja operatora `’in’`:
string = 'Ovo je primer da se proveri da li se određeni podstring nalazi u stringu' if 'provera' in string: print('Podstring je pronađen') else: print('Podstring nije pronađen')
Izlaz:
Podstring je pronađen
Gornji primer proverava da li je podstring `provera` prisutan u datom stringu. Pošto je podstring pronađen, ispisuje se odgovarajuća poruka.
Ako bismo promenili podstring koji tražimo u `neki_string`, i proverili da li je prisutan, izlaz bi bio `Podstring nije pronađen` jer se `neki_string` ne nalazi u datom stringu.
Primer korišćenja funkcije `find()`:
string = 'Korišćenje stringa da se proveri da li je podstring prisutan' if string.find('prisutan') != -1: print("Podstring 'prisutan' postoji") else: print("Podstring 'prisutan' ne postoji")
Izlaz:
Podstring 'prisutan' postoji
U gornjem primeru smo pokušali da pronađemo podstring koji je deo našeg stringa. Funkcija `find()` pretražuje ceo string i ako pronađe podstring, vraća njegov indeks, pa se ispisuhe `Podstring ‘prisutan’ postoji`.
Brojanje pojavljivanja podstringa
Python koristi funkciju `count()` koja omogućava brojanje pojavljivanja podstringa, kao u primeru ispod.
string = "Brojanje broja pojavljivanja 'a' u ovom stringu" print("Broj pojavljivanja podstringa 'a' je: ",string.count('a'));
Izlaz:
Broj pojavljivanja podstringa 'a' je: 4
Zaključak
Ovaj članak bi trebalo da vam pruži jasnije razumevanje šta je podstring u Python-u, kako ga kreirati i objasnio je koncept sečenja i kako ga koristiti. Koristeći navedene primere kao vodič, vežbajte više primera da biste bolje razumeli koncept.
Takođe, možete naučiti kako da napravite igru pogađanja brojeva koristeći Python ili kako da preuzmete JSON podatke u Python-u.
Srećno kodiranje!