1. Sissejuhatus
Stringide töötlemise tähtsus Pythonis
Pythonis programmeerimisel on stringide töötlemine igapäevane ja põhioskuste hulka kuuluv tegevus. Kontrollida, kas string sisaldab kindlat sõna või fraasi, on vajalik paljudes olukordades nagu andmetöötlus, teksti analüüs või veebiskreipimine. Selles artiklis tutvustame nelja peamist meetodit, kuidas Pythonis kontrollida, kas string sisaldab teatud väärtust. See aitab muuta programmi tõhusamaks ja vältida vigu.
2. Meetod 1: Lihtne meetod in
operaatori abil
Mis on in
operaator
Kõige lihtsam viis kontrollida, kas üks string sisaldub teises, on kasutada in
operaatorit. See meetod on algajatele kergesti mõistetav ja kood jääb loetav. Kui otsitav string leidub tekstis, tagastab in
operaator True
, vastasel juhul False
.
Näide
text = "Python is a versatile language."
print("versatile" in text) # True
print("java" in text) # False
Ülaltoodud koodis kontrollitakse, kas string "versatile"
esineb muutujas text
. Kuna see on olemas, tagastatakse True
. Samas "java"
ei esine tekstis, mistõttu tagastatakse False
.
in
operaatori plussid ja miinused
Plussid
- Kood on lühike ja intuitiivne.
- Tulemus tagastatakse loogikaväärtusena (
True
võiFalse
), mida on lihtne kasutada tingimuslausetes.
Miinused
- Ei sobi keerukamate mustrite või täpsete suur- ja väiketähtede eristamiseks.
- Sobib ainult lihtsateks kontrollideks, kuid ei anna infot positsiooni ega keerukamate mustrite kohta.

3. Meetod 2: find()
meetod indeksi leidmiseks
Mis on find()
meetod
find()
meetod tagastab positsiooni (indeksi), kus konkreetne alamstring esimest korda tekstis esineb. Kui leitakse, tagastatakse nullist suurem indeks; kui ei leita, siis -1
. Meetod eristab suuri ja väikseid tähti.
Näide
text = "apple, orange, banana"
index = text.find("orange")
print(index) # 7
Siin tagastatakse 7
, sest sõna "orange"
algab tekstis seitsmendal kohal. Kui otsida "grape"
, siis tulemus on -1
, kuna seda ei leidu.
Rakendus: tõstutundetu otsing
Kui soovid otsida tõstutundetult, saab kasutada lower()
meetodit, et muuta kogu tekst väiketähtedeks enne otsingut.
text = "Python is Great"
index = text.lower().find("great")
print(index) # 10
find()
meetodi plussid ja miinused
Plussid
- Võimaldab leida alamstringi esimese esinemise positsiooni.
- Lihtne kasutada.
Miinused
- Tõstutundlik otsing, mis vajab vajadusel lisatöötlust.
- Tagastab ainult esimese leitud esinemise.
4. Meetod 3: rfind()
meetod viimase esinemise leidmiseks
Mis on rfind()
meetod
rfind()
otsib stringi paremalt poolt ja tagastab esimese leitud esinemise indeksi. Kui ei leita, tagastatakse -1
. See töötab sarnaselt find()
meetodile, kuid otsib tagantpoolt.
Näide
text = "apple, orange, apple, banana"
index = text.rfind("apple")
print(index) # 14
Siin tagastatakse 14
, kuna see on viimase sõna "apple"
algusindeks.
rfind()
meetodi rakendus
See on kasulik, kui vajad viimast esinemist, näiteks logifailide või suurte tekstide puhul, et leida viimane veateade või kindel märksõna.
rfind()
meetodi plussid ja miinused
Plussid
- Võimaldab tuvastada viimase esinemise.
- Sobib suurte tekstide ja logide töötlemiseks.
Miinused
- Ei anna kõigi esinemiste asukohti korraga.

5. Meetod 4: Regulaaravaldised (re.search()
) keerukamaks otsinguks
Mis on regulaaravaldis
Regulaaravaldised (Regex) on võimas tööriist mustrite otsimiseks tekstidest. Pythonis saab kasutada re
moodulit, et otsida keerukamaid mustreid või paindlikke osalisi vasteid.
Näide: re.search()
import re
text = "apple, orange, banana"
match = re.search(r"ora[a-z]*", text)
if match:
print(match.group()) # orange
Siin leitakse sõna, mis algab "ora"
-ga ja millele järgnevad väiketähed. Tulemus on "orange"
.
Rakendus: mitu mustrit korraga
match = re.search(r"d+", "apple 123 banana")
if match:
print(match.group()) # 123
Seda saab kasutada numbrite või kindlate sümbolite otsimiseks.
Regulaaravaldise plussid ja miinused
Plussid
- Võimaldab töödelda keerulisi mustreid ja paindlikke vasteid.
- Sobib suurte tekstide ja andmete analüüsimiseks.
Miinused
- Süntaks on algajatele keeruline.
- Võib olla aeglasem suurte andmemahtude puhul.
6. Meetodite võrdlus ja kasutus
Võrdlustabel
Meetod | Funktsioon | Plussid | Miinused |
---|---|---|---|
in | Kontrollib, kas alamstring esineb | Lihtne ja kiire | Tõstutundlik |
find() | Tagastab esimese vaste indeksi | Annab positsiooni | Ainult esimene vaste |
rfind() | Otsib paremalt | Tagastab viimase vaste | Ainult viimane vaste |
re.search() | Regulaaravaldise otsing | Paindlik ja võimas | Kõrge õppimiskulu, aeglasem |
Soovituslik kasutus
in
lihtsateks kontrollideks.find()
võirfind()
positsiooni leidmiseks.- Regulaaravaldised keerukateks mustriteks.
7. Kokkuvõte
Python pakub mitmeid viise kontrollida, kas string sisaldab teatud väärtust – alates lihtsatest kuni keerukamateni. Käesolevas artiklis vaatasime lähemalt in
operaatorit, find()
, rfind()
ja regulaaravaldise re.search()
meetodit. Igal neist on oma eelised ja piirangud.
- Lihtsad kontrollid:
in
- Positsiooni leidmine:
find()
võirfind()
- Keerukad mustrid: regulaaravaldise kasutamine
Vali õige meetod vastavalt oma kasutusjuhtumile ja tee stringide otsing tõhusamaks. Küsimuste või arvamuste korral jäta kommentaar!