π ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ Π² Python? Π£Π·Π½Π°ΠΉΡΠ΅ ΠΏΡΠΎΡΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±!
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° find()
string = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
substring = "ΠΌΠΈΡ"
index = string.find(substring)
print(index) # ΠΡΠ²ΠΎΠ΄: 7
# ΠΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ ΠΌΠ΅ΡΠΎΠ΄Π° index()
string = "ΠΡΠΈΠ²Π΅Ρ, ΠΌΠΈΡ!"
substring = "ΠΌΠΈΡ"
index = string.index(substring)
print(index) # ΠΡΠ²ΠΎΠ΄: 7
ΠΠ΅ΡΠ°Π»ΡΠ½ΡΠΉ ΠΎΡΠ²Π΅Ρ
ΠΠ°ΠΊ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ Π² ΠΏΠΈΡΠΎΠ½Π΅
ΠΠΎΠ³Π΄Π° Π²Ρ ΡΠ°Π±ΠΎΡΠ°Π΅ΡΠ΅ Ρ ΡΠ΅ΠΊΡΡΠΎΠ²ΡΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ Π² Python, ΡΠ°ΡΡΠΎ Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π½Π°ΠΉΡΠΈ ΠΎΠΏΡΠ΅Π΄Π΅Π»Π΅Π½Π½ΡΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ Π² ΡΡΡΠΎΠΊΠ΅. ΠΠ°ΡΠ½Π΅ΠΌ Ρ ΠΏΠΎΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΡ ΠΈ ΡΠ°ΡΡΠΌΠΎΡΡΠ΅Π½ΠΈΡ ΡΠ°Π·Π»ΠΈΡΠ½ΡΡ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΡΠ΅ΡΠ΅Π½ΠΈΡ ΡΡΠΎΠΉ Π·Π°Π΄Π°ΡΠΈ.
1. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° find()
ΠΡΠΎΡΡΠ΅ΠΉΡΠΈΠΌ ΡΠΏΠΎΡΠΎΠ±ΠΎΠΌ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ Π² ΡΡΡΠΎΠΊΠ΅ ΡΠ²Π»ΡΠ΅ΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° find()
. ΠΠΎΡ ΠΊΠ°ΠΊ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΠΈΡΡ:
string = "ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
substring = "ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
position = string.find(substring)
print(f"ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π° Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ: {position}")
ΠΠ΅ΡΠΎΠ΄ find()
Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΡ. ΠΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΠΌΠ΅ΡΠΎΠ΄ Π²Π΅ΡΠ½Π΅Ρ -1. ΠΠ±ΡΠ°ΡΠΈΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅, ΡΡΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΡΠΈΡ Π½Π°ΡΠΈΠ½Π°Π΅ΡΡΡ Ρ 0.
2. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄Π° index()
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ, Π½ΠΎ ΡΠ°ΠΊΠΆΠ΅ Ρ
ΠΎΡΠΈΡΠ΅ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΠ»ΡΡΠ°ΠΉ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½Π° ΠΎΡΡΡΡΡΡΠ²ΡΠ΅Ρ Π² ΡΡΡΠΎΠΊΠ΅, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΠΌΠ΅ΡΠΎΠ΄ index()
. ΠΠ½ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΏΠΎΡ
ΠΎΠΆΠΈΠΌ ΠΎΠ±ΡΠ°Π·ΠΎΠΌ Π½Π° find()
:
string = "ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
substring = "ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
try:
position = string.index(substring)
print(f"ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π° Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ: {position}")
except ValueError:
print("ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°")
ΠΠ΅ΡΠΎΠ΄ index()
ΡΠ°ΠΊΠΆΠ΅ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΠ½Π΄Π΅ΠΊΡ ΠΏΠ΅ΡΠ²ΠΎΠ³ΠΎ Π²Ρ
ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΡ, Π½ΠΎ Π΅ΡΠ»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π΅ Π½Π°ΠΉΠ΄Π΅Π½Π°, ΠΎΠ½ Π²ΡΠ·ΡΠ²Π°Π΅Ρ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ValueError
. ΠΡΠΏΠΎΠ»ΡΠ·ΡΡ Π±Π»ΠΎΠΊ try-except
, ΠΌΡ ΠΌΠΎΠΆΠ΅ΠΌ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ°ΡΡ ΡΡΠΎ ΠΈΡΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΠΈ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π½ΡΠΆΠ½ΡΠ΅ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ.
3. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΡ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΠΉ
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½ΡΠΆΠ½ΠΎ Π²ΡΠΏΠΎΠ»Π½ΠΈΡΡ Π±ΠΎΠ»Π΅Π΅ ΡΠ»ΠΎΠΆΠ½ΡΠΉ ΠΏΠΎΠΈΡΠΊ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠ΅ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡ. Python ΠΏΡΠ΅Π΄Π»Π°Π³Π°Π΅Ρ ΠΌΠΎΡΠ½ΡΠΉ ΠΌΠΎΠ΄ΡΠ»Ρ re
, ΠΊΠΎΡΠΎΡΡΠΉ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΡΠ°Π±ΠΎΡΠ°ΡΡ Ρ ΡΠ΅Π³ΡΠ»ΡΡΠ½ΡΠΌΠΈ Π²ΡΡΠ°ΠΆΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΡ:
import re
string = "ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
substring = "ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
matches = re.finditer(substring, string)
for match in matches:
print(f"ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π° Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΠΈ: {match.start()}")
ΠΠ΄Π΅ΡΡ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠ½ΠΊΡΠΈΡ finditer()
ΠΈΠ· ΠΌΠΎΠ΄ΡΠ»Ρ re
, ΠΊΠΎΡΠΎΡΠ°Ρ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°Π΅Ρ ΠΈΡΠ΅ΡΠ°ΡΠΎΡ Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠ°ΠΌΠΈ Match
. ΠΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΈΡΠ΅ΡΠ°ΡΠΎΡΡ ΠΈ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ Π½Π°ΠΉΠ΄Π΅Π½Π½ΠΎΠ³ΠΎ ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΠΌΠ΅ΡΠΎΠ΄Π° start()
Ρ ΠΎΠ±ΡΠ΅ΠΊΡΠΎΠ² Match
.
4. ΠΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ΅Π·ΠΎΠ² (slices)
ΠΡΠ»ΠΈ Π²Π°ΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Π½Π°ΠΉΡΠΈ Π²ΡΠ΅ Π²Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² ΡΡΡΠΎΠΊΠ΅ ΠΈ ΠΏΠΎΠ»ΡΡΠΈΡΡ ΠΈΡ ΠΈΠ½Π΄Π΅ΠΊΡΡ, Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠ΅Π·Ρ (slices). ΠΠΎΡ ΠΏΡΠΈΠΌΠ΅Ρ ΠΊΠΎΠ΄Π°:
string = "ΠΡΠΈΠΌΠ΅Ρ ΡΠ΅ΠΊΡΡΠ°, Π² ΠΊΠΎΡΠΎΡΠΎΠΌ Π½ΡΠΆΠ½ΠΎ Π½Π°ΠΉΡΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
substring = "ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΡ"
positions = [i for i in range(len(string)) if string[i:i + len(substring)] == substring]
print(f"ΠΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π½Π°ΠΉΠ΄Π΅Π½Π° Π½Π° ΠΏΠΎΠ·ΠΈΡΠΈΡΡ
: {positions}")
ΠΡ ΠΏΡΠΎΡ
ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠ°ΠΌ ΡΡΡΠΎΠΊΠΈ ΠΈ ΠΏΡΠΎΠ²Π΅ΡΡΠ΅ΠΌ, ΡΠ°Π²Π½Π° Π»ΠΈ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ° Π² ΡΡΠΎΠΉ ΠΏΠΎΠ·ΠΈΡΠΈΠΈ ΠΈΡΠΊΠΎΠΌΠΎΠΉ ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠ΅. ΠΡΠ»ΠΈ Π΄Π°, Π΄ΠΎΠ±Π°Π²Π»ΡΠ΅ΠΌ ΠΏΠΎΠ·ΠΈΡΠΈΡ Π² ΡΠΏΠΈΡΠΎΠΊ positions
. Π ΠΊΠΎΠ½ΡΠ΅ Π²ΡΠ²ΠΎΠ΄ΠΈΠΌ ΡΠΏΠΈΡΠΎΠΊ Π²ΡΠ΅Ρ
Π½Π°ΠΉΠ΄Π΅Π½Π½ΡΡ
ΠΏΠΎΠ·ΠΈΡΠΈΠΉ.
ΠΠ°ΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅
Π’Π΅ΠΏΠ΅ΡΡ Π²Ρ Π·Π½Π°Π΅ΡΠ΅ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΏΠΎΡΠΎΠ±ΠΎΠ² ΠΏΠΎΠΈΡΠΊΠ° ΠΏΠΎΠ΄ΡΡΡΠΎΠΊΠΈ Π² Python. ΠΡΠΏΠΎΠ»ΡΠ·ΡΠΉΡΠ΅ ΡΠΎΡ, ΠΊΠΎΡΠΎΡΡΠΉ Π»ΡΡΡΠ΅ Π²ΡΠ΅Π³ΠΎ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΠΈΡ Π΄Π»Ρ Π²Π°ΡΠ΅ΠΉ Π·Π°Π΄Π°ΡΠΈ ΠΈ ΠΏΠΎΠΌΠΎΠΆΠ΅Ρ Π΄ΠΎΡΡΠΈΡΡ ΠΆΠ΅Π»Π°Π΅ΠΌΠΎΠ³ΠΎ ΡΠ΅Π·ΡΠ»ΡΡΠ°ΡΠ°.