Recherche de chaînes de caractères JavaScript
- Page précédente Méthodes de chaînes JS
- Page suivante Modèles de chaînes JS
Méthode JavaScript utilisée pour rechercher une chaîne de caractères :
- String.indexOf()
- String.lastIndexOf()
- String.startsWith()
- String.endsWith()
String.indexOf()
indexOf()
La méthode renvoie le texte spécifié dans la chaîne de caractèresPremièreL'index (de la position) apparaissant :
Exemple
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate") // retourne 7
JavaScript commence à zéro pour calculer les positions.
0 est la première position d'une chaîne de caractères, 1 est la deuxième, 2 est la troisième ......
String.lastIndexOf()
lastIndexOf()
La méthode retourne l'index de la dernière apparition du texte spécifié dans la chaîne :
Exemple
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate") // retourne 21
Si le texte n'est pas trouvé,indexOf()
et lastIndexOf()
Retournent tous deux -1 :
Exemple
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("Bill") // retourne -1
Ces deux méthodes acceptent le second paramètre en tant que position de départ de la recherche :
Exemple
let str = "Please locate where 'locate' occurs!"; str.indexOf("locate", 15) // retourne 21
lastIndexOf()
La méthode recherche vers l'arrière (de la fin vers le début), ce qui signifie : si le second paramètre est 15
Si vous spécifiez une position de départ, la recherche commence à cette position et se poursuit jusqu'au début de la chaîne.
Exemple
let str = "Please locate where 'locate' occurs!"; str.lastIndexOf("locate", 15) // retourne 7
String.search()
search()
La méthode recherche une valeur spécifiée dans une chaîne de caractères et retourne la position du match :
Exemple
let str = "Please locate where 'locate' occurs!"; str.search("locate") // retourne 7
Avez-vous remarqué ?
indexOf()
et search()
Ces deux méthodes, sont-elles égales ?
Elles acceptent les mêmes paramètres et retournent les mêmes valeurs ?
Ces deux méthodes ne sont pas égales. Les différences sont les suivantes :
search()
La méthode ne peut pas accepter un second paramètre de position de départ.indexOf()
La méthode ne peut pas utiliser des valeurs de recherche puissantes (expressions régulières).
Vous apprendrez plus sur les expressions régulières dans les chapitres suivants.
String.match()
La méthode match() recherche des éléments correspondants dans une chaîne selon l'expression régulière et les retourne sous forme d'objet Array.
Exemple 1
Recherche de "ain" dans une chaîne de caractères :
let text = "La pluie en ESPAGNE reste principalement dans la plaine"; text.match(/ain/g) // retourne le tableau [ain,ain,ain]
Apprenez plus sur les expressions régulières dans le chapitre JS RegExp.
Si l'expression régulière ne contient pas le modificateur g (recherche globale), la méthode match() ne retournera que le premier élément correspondant de la chaîne.
Syntaxe
string.match(regexp)
regexp | Obligatoire. La valeur à rechercher, sous forme d'expression régulière. |
Retour : | Tableau, contenant les éléments correspondants, chaque élément correspondant à un projet, s'il n'y a pas d'élément correspondant, il est null. |
Exemple 2
Effectuer une recherche globale non sensible à la casse pour "ain":
let text = "La pluie en ESPAGNE reste principalement dans la plaine"; text.match(/ain/gi) // Retourne le tableau [ain, AIN, ain, ain]
String.includes()
Si la chaîne de caractères contient la valeur spécifiée,includes()
La méthode retourne true.
Exemple
let text = "Hello world, welcome to the universe."; text.includes("world") // Retourne true
Prise en charge du navigateur
Internet Explorer ne prend pas en charge String.includes().
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 40 | Safari 9 | Opera 28 |
mars 2015 | juillet 2015 | août 2015 | octobre 2015 | mars 2015 |
Syntaxe
string.includes(searchvalue, start)
searchvalue | Obligatoire. La chaîne de caractères à rechercher. |
start | Optionnel. Par défaut, 0. Position de début de la recherche. |
Retour : | Si la chaîne de caractères contient cette valeur, retourne true ,sinon retourne false . |
Version de JS : | ES6 (2015) |
Vérifiez si la chaîne de caractères contient "world", à partir de la position 12 de la recherche :
let text = "Hello world, welcome to the universe."; text.includes("world", 12) // Retourne false
String.startsWith()
Si la chaîne de caractères commence par la valeur spécifiée, alors startsWith()
La méthode retourne true
,sinon retourne false
:
Exemple
let text = "Hello world, welcome to the universe."; text.startsWith("Hello") // Retourne true
Syntaxe
string.startsWith(searchvalue, start)
Valeur du paramètre
Paramètre | Description |
---|---|
searchvalue | Obligatoire. La valeur à rechercher. |
start | Optionnel. Par défaut, 0. Position de début de la recherche. |
Exemple
let text = "Hello world, welcome to the universe."; text.startsWith("world") // Retourne false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 5) // Retourne false
let text = "Hello world, welcome to the universe."; text.startsWith("world", 6) // Retourne true
Remarque :startsWith()
La méthode distingue les majuscules et les minuscules.
Internet Explorer ne prend pas en charge startsWith()
Méthode.
La première version de navigateur complètement prise en charge est :
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 41 | Edge 12 | Firefox 17 | Safari 9 | Opera 28 |
mars 2015 | juillet 2015 | août 2015 | octobre 2015 | mars 2015 |
String.endsWith()
Si la chaîne de caractères se termine par la valeur spécifiée, alors endsWith()
La méthode retourne true
,sinon retourne false
:
Exemple
Vérifiez si la chaîne de caractères se termine par "Gates" :
var text = "Bill Gates"; text.endsWith("Gates") // Retourne true
Syntaxe
string.endsWith(searchvalue, length)
Valeur du paramètre
Paramètre | Description |
---|---|
searchvalue | Obligatoire. La valeur à rechercher. |
length | Optionnel. Longueur à rechercher. |
Recherchez les 11 premiers caractères de la chaîne qui se termine par "world" :
let text = "Hello world, welcome to the universe."; text.endsWith("world", 11) // Retourne true
Remarque :endsWith()
La méthode distingue les majuscules et les minuscules.
Internet Explorer ne prend pas en charge endsWith()
Méthode.
La première version du navigateur qui prend en charge cette méthode est :
Chrome | IE | Firefox | Safari | Opera |
---|---|---|---|---|
Chrome 51 | Edge 15 | Firefox 54 | Safari 10 | Opera 38 |
Mai 2016 | Avril 2017 | Juin 2017 | Septembre 2016 | Juin 2016 |
Manuel de référence complet des chaînes
Pour une référence complète, veuillez visiter notre Manuel de référence des chaînes JavaScript.
Ce manuel contient des descriptions et des exemples de toutes les propriétés et méthodes des chaînes.
- Page précédente Méthodes de chaînes JS
- Page suivante Modèles de chaînes JS