Maison > interface Web > js tutoriel > le corps du texte

Comment js sait-il si une sous-chaîne donnée existe ?

青灯夜游
Libérer: 2021-08-16 16:16:59
original
1822 Les gens l'ont consulté

Dans l'article précédent "Comment calculer la position d'un élément à l'aide de js", nous avons présenté la méthode d'obtention de la position absolue par rapport à la fenêtre du navigateur et de la position de décalage par rapport au nœud parent ou à l'élément de corps. Cette fois, nous continuons à apprendre le javascript et introduisons la méthode permettant de déterminer si une sous-chaîne spécifiée existe dans une chaîne.

Il existe de nombreuses méthodes en JavaScript pour déterminer si une sous-chaîne spécifiée existe, par exemple en obtenant la première ou la dernière position d'occurrence de la sous-chaîne dans la chaîne, puis en déterminant si la position d'occurrence existe réellement, c'est-à-dire si elle a une valeur entière positive ; Si tel est le cas, la sous-chaîne spécifiée existe.

Comment obtenir la première ou la dernière position d'occurrence d'une sous-chaîne dans une chaîne ? Jetons un coup d'œil à l'exemple suivant :

var str = "How do you do!";
//获取子串“do”在str字符串中第一次出现的位置
var index=str.indexOf("do");
console.log("'do'在str字符串中第一次出现的位置是:"+index);
Copier après la connexion

Résultat de sortie :

Comment js sait-il si une sous-chaîne donnée existe ?

Parce que la position de la chaîne commence à 0, pas à 1, nous utilisons donc str.indexOf("do") ; La première position d'occurrence obtenue est 4. str.indexOf("do")所获得的第一次出现位置为4。

在看看下面一个例子:

var str = "How do you do!";
//获取子串“do”在str字符串中最后一次出现的位置
var lastindex=str.lastIndexOf("do");
console.log("'do'在str字符串中最后一次出现的位置是:"+lastindex);
Copier après la connexion

输出结果:

Comment js sait-il si une sous-chaîne donnée existe ?

可以看出,使用str.lastIndexOf("do")所获得的最后一次出现位置为11。

因为子串“do”是存在的(且存在多个),所以无论是第一次出现位置,还是最后一次出现位置都有正值。

我们看看不存在的情况:

var str = "How do you do!";
//获取子串“do”在str字符串中最后一次出现的位置
var index=str.indexOf("de");
var lastindex=str.lastIndexOf("de");
console.log("'de'在str字符串中第一次出现的位置是:"+index);
console.log("'de'在str字符串中最后一次出现的位置是:"+lastindex);
Copier après la connexion

输出结果:

Comment js sait-il si une sous-chaîne donnée existe ?

可以看出,如果子串不存在,那么无论是第一次出现位置,还是最后一次出现位置都返回-1

Regardez l'exemple suivant :

function a(str1,str2){
	var index=str1.indexOf(str2);
	var lastindex=str1.lastIndexOf(str2);
	if(index!=-1){
		console.log("第一次出现的位置是:"+index+" ,因此 子串 “"+str2+"” 是存在的");
	}else{
		console.log("第一次出现的位置是:"+index+" ,因此 子串 “"+str2+"” 是不存在的");
	}
	
	if(lastindex!=-1){
		console.log("最后一次出现的位置是:"+lastindex+" ,因此 子串 “"+str2+"” 是存在的");
	}else{
		console.log("最后一次出现的位置是:"+lastindex+" ,因此 子串 “"+str2+"” 是不存在的");
	}
}
Copier après la connexion

Résultat de sortie :


Comment js sait-il si une sous-chaîne donnée existe ?

On peut voir que la dernière position d'occurrence obtenue en utilisant str.lastIndexOf("do") est 11.

Parce que la sous-chaîne "do" existe (et il y en a plusieurs), la première position d'occurrence et la dernière position d'occurrence ont des valeurs positives.

Comment js sait-il si une sous-chaîne donnée existe ?Regardons la situation inexistante :

var str = "How do you do!";
a(str,"do");
a(str,"de");
Copier après la connexion

Résultat de sortie : Comment js sait-il si une sous-chaîne donnée existe ?

🎜On peut voir que si la sous-chaîne n'existe pas, alors qu'il s'agisse de la première position d'occurrence ou de la dernière position d'occurrence, -1 sera restitué. 🎜🎜Sur cette base, implémentons une fonction qui détermine si la sous-chaîne existe étant donné une sous-chaîne : 🎜rrreee🎜Définissons la chaîne et la sous-chaîne à récupérer, et appelons la fonction a(str1, str2) pour déterminer : 🎜🎜rrreee 🎜Sortie résultat : 🎜🎜🎜🎜🎜🎜D'accord, c'est tout Si vous en avez besoin, vous pouvez lire : 🎜tutoriel avancé javascript🎜🎜.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal