Αναζήτηση Συμβολαίων στο JavaScript
- Προηγούμενη σελίδα JS string methods
- Επόμενη σελίδα JS string template
Μέθοδος JavaScript για αναζήτηση αλφαβητικής αλληλουχίας:
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
Η μέθοδος επιστρέφει το κείμενο που καθορίζεται στην αλφαβητική αλληλουχίαΠρώτη φοράΕμφάνιση (θέσης) του δείκτη:
Παράδειγμα
let str = "Παρακαλώ βρείτε το σημείο όπου εμφανίζεται το 'locate'!"; str.indexOf("locate") // επιστρέφει 7
Το JavaScript μετρά τις θέσεις από το μηδέν.
0 είναι η πρώτη θέση στη αλφαβητική αλληλουχία, 1 είναι η δεύτερη, 2 είναι η τρίτη ...
String.lastIndexOf()
lastIndexOf()
La función devuelve la última posición de aparición del texto especificado en la cadena:
Παράδειγμα
let str = "Παρακαλώ βρείτε το σημείο όπου εμφανίζεται το 'locate'!"; str.lastIndexOf("locate") // Επιστρέφει 21
Si no se encuentra texto:indexOf()
και lastIndexOf()
Ambos retornan -1:
Παράδειγμα
let str = "Παρακαλώ βρείτε το σημείο όπου εμφανίζεται το 'locate'!"; str.lastIndexOf("Bill") // Επιστρέφει -1
Ambas métodos aceptan el segundo parámetro como la posición de inicio de la búsqueda:
Παράδειγμα
let str = "Παρακαλώ βρείτε το σημείο όπου εμφανίζεται το 'locate'!"; str.indexOf("locate", 15) // Επιστρέφει 21
lastIndexOf()
Η μέθοδος αναζητά προς τα πίσω (από το τέλος προς την αρχή), αυτό σημαίνει ότι αν η δεύτερη παράμετρος είναι 15
Αν δεν βρεθεί συμφωνία, ξεκινά από τη θέση 15 και αναζητά μέχρι την αρχή του κειμένου.
Παράδειγμα
let str = "Παρακαλώ βρείτε το σημείο όπου εμφανίζεται το 'locate'!"; str.lastIndexOf("locate", 15) // Επιστρέφει 7
String.search()
search()
Η μέθοδος αναζητά την καθορισμένη τιμή στο κείμενο και επιστρέφει τη θέση της συμφωνίας:
Παράδειγμα
let str = "Παρακαλώ βρείτε το σημείο όπου εμφανίζεται το 'locate'!"; str.search("locate") // Επιστρέφει 7
Σημείωσατε αυτό;
indexOf()
και search()
Οι δύο αυτές μεθόδους, είναι ίδιες;
Αποδέχονται τα ίδια παραμέτρους και επιστρέφουν τα ίδια αποτελέσματα?
Αυτές οι δύο μεθόδους δεν είναι ίδιες. Οι διαφορές είναι οι εξής:
search()
Η μέθοδος δεν μπορεί να δεχθεί δεύτερο παράμετρο ως σημείο έναρξης.indexOf()
Η μέθοδος δεν μπορεί να χρησιμοποιήσει ισχυρές τιμές αναζήτησης (τυποποιημένες εκφράσεις).
Θα μάθετε περισσότερα για τις τυποποιημένες εκφράσεις στις επόμενες ενότητες.
String.match()
Η μέθοδος match() αναζητά συμφωνίες με την τυποποιημένη έκφραση στο κείμενο και επιστρέφει τις συμφωνίες ως αντικείμενο Array.
Παράδειγμα 1
Αναζητήστε το "ain" στο κείμενο:
let text = "Ο καιρός στη ΣΠANIΗ μένει κυρίως στην πεδιάδα"; text.match(/ain/g) // Επιστρέφει το μοτίβο [ain,ain,ain]
Μάθετε περισσότερα για τις τυποποιημένες εκφράσεις στο κεφάλαιο JS RegExp.
Αν η τυποποιημένη έκφραση δεν περιέχει τον μοτίβο g (εκτελεί αναζήτηση σε όλο το κείμενο), η μέθοδος match() θα επιστρέψει μόνο το πρώτο συμφωνούντo στοιχείο του κειμένου.
Γλωσσική δομή
string.match(regexp)
regexp | Απαιτείται. Η τιμή που πρέπει να αναζητηθεί, είναι μια τυποποιημένη έκφραση. |
Επιστρέφει: | Μαθαίνετε ένας πίνακας που περιέχει τα αποτελέσματα της αναζήτησης, κάθε στοιχείο αντιστοιχεί σε ένα στοιχείο, αν δεν βρεθεί συμφωνία, είναι null. |
Παράδειγμα 2
Εκτελέστε μια μη διαφοροποιημένη από το γράμμα αναζήτηση για το "ain":
let text = "Ο καιρός στη ΣΠANIΗ μένει κυρίως στην πεδιάδα"; text.match(/ain/gi) // Επιστρέφει το πίνακα [ain,AIN,ain,ain]
String.includes()
Αν η αλφαβητική ακολουθία περιέχει την καθορισμένη τιμήincludes()
Η μέθοδος επιστρέφει true.
Παράδειγμα
let text = "Hello world, welcome to the universe."; text.includes("world") // Επιστρέφει true
Υποστήριξη των προγραμμάτων περιήγησης
Ο Internet Explorer δεν υποστηρίζει String.includes().
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
Μάρτιος 2015 | Ιούλιος 2015 | Αύγουστος 2015 | Οκτώβριος 2015 | Μάρτιος 2015 |
Γλωσσική δομή
string.includes(searchvalue, start)
searchvalue | Απαιτείται. Απαιτείται η αλφαβητική ακολουθία αναζήτησης. |
start | Προαιρετικό. Προεπιλεγμένο 0. Το σημείο έναρξης της αναζήτησης. |
Επιστρέφει: | Επιστρέφει αν η αλφαβητική ακολουθία περιέχει την τιμή. true ,αν όχι επιστρέφει false . |
Έκδοση JS: | ES6 (2015) |
Έλεγχος αν η αλφαβητική ακολουθία περιέχει "world", ξεκινώντας από τη θέση 12:
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // Επιστρέφει false
String.startsWith()
Αν η αλφαβητική ακολουθία ξεκινά με την καθορισμένη τιμή startsWith()
Η μέθοδος επιστρέφει true
,αν όχι επιστρέφει false
:
Παράδειγμα
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Επιστρέφει true
Γλωσσική δομή
string.startsWith(searchvalue, start)
Τιμή παράμετρου
Παράμετρος | Περιγραφή |
---|---|
searchvalue | Απαιτείται. Απαιτείται να αναζητηθεί η τιμή. |
start | Προαιρετικό. Προεπιλεγμένο 0. Το σημείο έναρξης της αναζήτησης. |
Παράδειγμα
let text = "Hello world, welcome to the universe."; text.startsWith("world") // Επιστρέφει false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // Επιστρέφει false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // Επιστρέφει true
Σημείωση:startsWith()
Μέθοδος διαφοροποίησης κεφαλαίων και μικρών γραμμάτων.
Ο Internet Explorer δεν υποστηρίζει startsWith()
Μέθοδος.
Η πρώτη πλήρως υποστηριζόμενη έκδοση του προγράμματος περιήγησης είναι:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
Μάρτιος 2015 | Ιούλιος 2015 | Αύγουστος 2015 | Οκτώβριος 2015 | Μάρτιος 2015 |
String.endsWith()
Αν η αλφαβητική ακολουθία τελειώνει με την καθορισμένη τιμή endsWith()
Η μέθοδος επιστρέφει true
,αν όχι επιστρέφει false
:
Παράδειγμα
Έλεγχος αν η αλφαβητική ακολουθία τελειώνει με "Gates":
var text = "Bill Gates"; text.endsWith("Gates") // Επιστρέφει true
Γλωσσική δομή
string.endsWith(searchvalue, length)
Τιμή παράμετρου
Παράμετρος | Περιγραφή |
---|---|
searchvalue | Απαιτείται. Απαιτείται να αναζητηθεί η τιμή. |
length | Επιλογή. Η μήκος που θέλετε να αναζητήσετε. |
Αναζητήστε το κείμενο που τελειώνει με "world" για τους πρώτους 11 χαρακτήρες:
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // Επιστρέφει true
Σημείωση:endsWith()
Μέθοδος διαφοροποίησης κεφαλαίων και μικρών γραμμάτων.
Ο Internet Explorer δεν υποστηρίζει endsWith()
Μέθοδος.
Η πρώτη έκδοση του προγράμματος περιήγησης που υποστηρίζει αυτή τη μέθοδο είναι:
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
Μάιος 2016 | Απρίλιος 2017 | Ιούνιος 2017 | Σεπτέμβριος 2016 | Ιούνιος 2016 |
Πλήρες έγγραφο αναφοράς string
Για πλήρη αναφορά, παρακαλώ επισκεφθείτε το πλήρες JavaScript string χειροκίνητο.
Το έγγραφο αυτό περιλαμβάνει περιγραφή και παράδειγμα όλων των ιδιοτήτων και μεθόδων των string.
- Προηγούμενη σελίδα JS string methods
- Επόμενη σελίδα JS string template