Python Μέθοδος String find() με παραδείγματα

Τι είναι Python String find();

Python Εύρεση συμβολοσειράς () είναι μια λειτουργία διαθέσιμη σε Python βιβλιοθήκη για να βρείτε το ευρετήριο της πρώτης εμφάνισης μιας υποσυμβολοσειράς από τη δεδομένη συμβολοσειρά. Η συνάρτηση string find() θα επιστρέψει -1 αντί να βάλει μια εξαίρεση, εάν η καθορισμένη υποσυμβολοσειρά δεν υπάρχει στη δεδομένη συμβολοσειρά.

Σύνταξη του Python string find()

Η βασική σύνταξη του Python Η λειτουργία find() είναι η εξής:

string.find(substring,start,end)

Παράμετροι για τη μέθοδο find().

Εδώ υπάρχουν τρεις παράμετροι της συνάρτησης String find(). Python:

  • υπόστρωμα: Η δευτερεύουσα συμβολοσειρά που θέλετε να αναζητήσετε στη δεδομένη συμβολοσειρά.
  • Εκκίνηση: (προαιρετικό) Η τιμή έναρξης από όπου θα ξεκινήσει η αναζήτηση για υποσυμβολοσειρά. Από προεπιλογή, είναι 0.
  • τέλος: (προαιρετικό) Η τελική τιμή όπου θα τελειώσει η αναζήτηση για υποσυμβολοσειρά. Από προεπιλογή, η τιμή είναι το μήκος της συμβολοσειράς.

Παράδειγμα μεθόδου find() με προεπιλεγμένες τιμές

Οι παράμετροι μεταβιβάστηκαν σε Python Η μέθοδος find() είναι substring, δηλαδή η συμβολοσειρά που θέλετε να αναζητήσετε, να ξεκινήσετε και να τελειώσετε. Η τιμή έναρξης είναι 0 από προεπιλογή και η τιμή λήξης είναι το μήκος της συμβολοσειράς.

Σε αυτό το παράδειγμα, θα χρησιμοποιήσουμε τη μέθοδο find() in Python με προεπιλεγμένες τιμές.

Η μέθοδος find() θα αναζητήσει την υποσυμβολοσειρά και θα δώσει τη θέση της πρώτης εμφάνισης της υποσυμβολοσειράς. Τώρα, εάν η υποσυμβολοσειρά είναι παρούσα πολλές φορές στη δεδομένη συμβολοσειρά, και πάλι θα σας επιστρέψει το ευρετήριο ή τη θέση της πρώτης.

Παράδειγμα:

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials"))

Παραγωγή:

The position of Tutorials is at: 12

Παράδειγμα find() χρησιμοποιώντας όρισμα έναρξης

Μπορείτε να αναζητήσετε τη δευτερεύουσα συμβολοσειρά στη δεδομένη συμβολοσειρά και να καθορίσετε τη θέση έναρξης, από όπου θα ξεκινήσει η αναζήτηση. Η παράμετρος έναρξης μπορεί να χρησιμοποιηθεί για το ίδιο.

Το παράδειγμα θα καθορίσει τη θέση έναρξης ως 15 και τη find() στο Python Η μέθοδος θα ξεκινήσει την αναζήτηση από τη θέση 15. Εδώ, η τελική θέση θα είναι το μήκος της συμβολοσειράς και θα αναζητήσει μέχρι το τέλος της συμβολοσειράς από τις 15 θέσεις και μετά.

Παράδειγμα:

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 20))

Παραγωγή:

The position of Tutorials is at 48

Παράδειγμα find() που χρησιμοποιεί ορίσματα έναρξης και τέλους

Χρησιμοποιώντας την παράμετρο έναρξης και λήξης, θα προσπαθήσουμε να περιορίσουμε την αναζήτηση, αντί να κάνουμε αναζήτηση σε ολόκληρη τη συμβολοσειρά.

Παράδειγμα:

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of Tutorials is at:", mystring.find("Tutorials", 5, 30))

Παραγωγή:

The position of Tutorials is at 12

Παράδειγμα μεθόδου find() Για να βρείτε τη θέση μιας δεδομένης υποσυμβολοσειράς σε μια συμβολοσειρά

Γνωρίζουμε ότι η find() μας βοηθά να βρούμε το ευρετήριο της πρώτης εμφάνισης υποσυμβολοσειράς. Επιστρέφει -1 εάν η υποσυμβολοσειρά δεν υπάρχει στη δεδομένη συμβολοσειρά. Το παρακάτω παράδειγμα δείχνει το ευρετήριο όταν υπάρχει η συμβολοσειρά και -1 όταν δεν βρίσκουμε την υποσυμβολοσειρά που αναζητούμε.

Παράδειγμα:

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of καλυτερα site is at:", mystring.find("καλυτερα site", 5, 40))
print("The position of Guru99 is at:", mystring.find("Guru99", 20))

Παραγωγή:

The position of καλυτερα site is at: 27
The position of Guru99 is at: -1

Python συμβολοσειρά rfind()

The Python Η συνάρτηση rfind() είναι παρόμοια με τη συνάρτηση find() με τη μόνη διαφορά ότι η rfind() δίνει τον υψηλότερο δείκτη για τη δευτερεύουσα συμβολοσειρά που δίνεται και η find() δίνει το χαμηλότερο, δηλαδή τον πρώτο ευρετήριο. Τόσο η rfind() όσο και η find() θα επιστρέψουν -1 εάν η υποσυμβολοσειρά δεν υπάρχει.

Στο παρακάτω παράδειγμα, έχουμε μια συμβολοσειρά “Meet Guru99 Tutorials Site. καλυτερα site για Python Οδηγίες!» και θα προσπαθήσει να βρει τη θέση των Tutorials υποσυμβολοσειράς χρησιμοποιώντας find() και rfind(). Η εμφάνιση Tutorials στη συμβολοσειρά είναι δύο φορές.

Ακολουθεί ένα παράδειγμα όπου χρησιμοποιούνται τόσο η find() όσο και η rfind().

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using rfind() : ", mystring.rfind("Tutorials"))

Παραγωγή:

The position of Tutorials using find() :  12
The position of Tutorials using rfind() :  48

Η έξοδος δείχνει ότι η find() δίνει το ευρετήριο της πρώτης υποσυμβολοσειράς Tutorials που λαμβάνει, και η rfind() δίνει τον τελευταίο δείκτη των Tutorials υποσυμβολοσειράς.

Python ευρετήριο συμβολοσειράς()

The Python Το string index() είναι συνάρτηση που θα σας δώσει τη θέση της υποσυμβολοσειράς που δίνεται ακριβώς όπως η find(). Η μόνη διαφορά μεταξύ των δύο είναι ότι η index() θα δημιουργήσει μια εξαίρεση εάν η υποσυμβολοσειρά δεν υπάρχει στη συμβολοσειρά και η find() θα επιστρέψει -1.

Ακολουθεί ένα παράδειγμα εργασίας που δείχνει τη συμπεριφορά των index() και find().

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("Tutorials"))
print("The position of Tutorials using index() : ", mystring.index("Tutorials"))

Παραγωγή:

The position of Tutorials using find() :  12
The position of Tutorials using index() :  12

Λαμβάνουμε την ίδια θέση τόσο για find() όσο και για index(). Ας δούμε ένα παράδειγμα όταν η υποσυμβολοσειρά που δίνεται δεν υπάρχει στη συμβολοσειρά.

mystring = "Meet Guru99 Tutorials Site.καλυτερα site for Python Tutorials!"
print("The position of Tutorials using find() : ", mystring.find("test"))
print("The position of Tutorials using index() : ", mystring.index("test"))

Παραγωγή:

The position of Tutorials using find() :  -1
Traceback (most recent call last):
  File "task1.py", line 3, in <module>
    print("The position of Tutorials using index() : ", mystring.index("test"))
ValueError: substring not found

Στο παραπάνω παράδειγμα, προσπαθούμε να βρούμε τη θέση της υποσυμβολοσειράς "test". Η υποσυμβολοσειρά δεν υπάρχει στη δεδομένη συμβολοσειρά, και ως εκ τούτου χρησιμοποιώντας την find(), παίρνουμε τη θέση ως -1, αλλά για το index(), εκπέμπει ένα σφάλμα όπως φαίνεται παραπάνω.

Για να βρείτε τη συνολική εμφάνιση μιας υποσυμβολοσειράς

Για να βρούμε τον συνολικό αριθμό φορών που έχει εμφανιστεί η υποσυμβολοσειρά στη δεδομένη συμβολοσειρά, θα χρησιμοποιήσουμε τη συνάρτηση find() στο Python. Θα κάνει βρόχο μέσω της συμβολοσειράς χρησιμοποιώντας το for-loop από το 0 μέχρι το τέλος της συμβολοσειράς. Θα κάνει χρήση της παραμέτρου startIndex για find().

Οι μεταβλητές startIndex και count θα αρχικοποιηθούν στο 0. Το Inside for –loop θα ελέγξει εάν η υποσυμβολοσειρά υπάρχει μέσα στη συμβολοσειρά που δίνεται χρησιμοποιώντας find() και startIndex ως 0.

Η τιμή που επιστρέφεται από το find() εάν όχι -1, θα ενημερώσει το startIndex στο ευρετήριο όπου βρίσκεται η συμβολοσειρά και επίσης θα αυξήσει την τιμή μέτρησης.

Εδώ είναι το παράδειγμα εργασίας:

my_string = "test string test, test string testing, test string test string"
startIndex = 0
count = 0
for i in range(len(my_string)):
    k = my_string.find('test', startIndex)
    if(k != -1):
        startIndex = k+1
        count += 1
        k = 0
print("The total count of substring test is: ", count )

Παραγωγή:

The total count of substring test is:  6

Περίληψη

  • The Python Η μέθοδος string find() βοηθά στην εύρεση του δείκτη της πρώτης εμφάνισης της υποσυμβολοσειράς στη δεδομένη συμβολοσειρά. Θα επιστρέψει -1 εάν δεν υπάρχει η υποσυμβολοσειρά.
  • Οι παράμετροι μεταβιβάστηκαν σε Python Η μέθοδος find substring είναι substring, δηλαδή η συμβολοσειρά που θέλετε να αναζητήσετε, να ξεκινήσετε και να τελειώσετε. Η τιμή έναρξης είναι 0 από προεπιλογή και η τιμή λήξης είναι το μήκος της συμβολοσειράς.
  • Μπορείτε να αναζητήσετε τη δευτερεύουσα συμβολοσειρά στη δεδομένη συμβολοσειρά και να καθορίσετε τη θέση έναρξης, από όπου θα ξεκινήσει η αναζήτηση. Η παράμετρος έναρξης μπορεί να χρησιμοποιηθεί για το ίδιο.
  • Χρησιμοποιώντας την παράμετρο έναρξης και λήξης, θα προσπαθήσουμε να περιορίσουμε την αναζήτηση, αντί να κάνουμε αναζήτηση σε ολόκληρη τη συμβολοσειρά.
  • The Python λειτουργία Η rfind() είναι παρόμοια με τη συνάρτηση find() με τη μόνη διαφορά ότι η rfind() δίνει τον υψηλότερο δείκτη για τη δευτερεύουσα συμβολοσειρά που δίνεται και η find() δίνει τον χαμηλότερο, δηλαδή τον πρώτο ευρετήριο. Τόσο η rfind() όσο και η find() θα επιστρέψουν -1 εάν η υποσυμβολοσειρά δεν υπάρχει.
  • The Python Το string index() είναι μια ακόμη συνάρτηση που θα σας δώσει τη θέση της υποσυμβολοσειράς που δίνεται ακριβώς όπως η find(). Η μόνη διαφορά μεταξύ των δύο είναι ότι η index() θα δημιουργήσει μια εξαίρεση εάν η υποσυμβολοσειρά δεν υπάρχει στη συμβολοσειρά και η find() θα επιστρέψει -1.
  • Μπορούμε να χρησιμοποιήσουμε τη find() για να βρούμε το πλήθος της συνολικής εμφάνισης μιας υποσυμβολοσειράς σε μια δεδομένη συμβολοσειρά.

" Μάθε περισσότερα για Python Διαίρεση συμβολοσειράς()

Συνοψίστε αυτήν την ανάρτηση με: