logo

Cum se verifică dacă un șir conține un subșir în JavaScript?

Un subșir este o porțiune a unui șir. Reprezintă o secvență de caractere extrasă dintr-un șir mai mare. Un subșir poate fi la fel de scurt ca un singur caracter sau se poate extinde la mai multe caractere.

Există mai multe abordări pentru a verifica dacă un șir conține sau nu un subșir:

Cuprins



Verificarea subșirului cu metoda includes().

JavaScript string.includes() metoda poate fi folosită pentru a verifica dacă un șir conține un subșir specificat. Se întoarce Adevărat dacă subşirul este prezent. Această metodă face distincție între majuscule și minuscule.

Sintaxă:

string.includes(searchvalue, start)>

Exemplu: Acest exemplu folosește metoda includes() din JavaScript pentru a verifica subșirul dintr-un șir.

Javascript
let str = 'Hello there! Welcome to techcodeview.com'; let flag = str.includes('Geeks'); console.log(flag);>

Ieșire
true>

Explicaţie:

Codul verifică dacă șirul Bună ziua! Bun venit la techcodeview.com conține subșirul Geeks. Acesta atribuie rezultatul acestei verificări variabilei `flag` și îl înregistrează pe consolă.

Verificarea subșirului cu metoda test().

În această metodă, vom folosi Test() metoda de testare a subșirului din șir. Această metodă returnează true dacă subșirul găsit returnează false.

Sintaxă:

/sub-string/.test( String );>

Exemplu: Acest exemplu folosește metoda test() din JavaScript pentru a verifica subșirul dintr-un șir.

Javascript
let str = 'Hello there! Welcome to geeksforgeeks'; let flag = /geeks/.test(str); console.log(flag);>

Ieșire
true>

Explicaţie:

Codul testează dacă șirul Hello there! Bine ați venit la geeksforgeeks conține subșirul geeks folosind o expresie regulată. Îi atribuie rezultatulflag>și îl conectează pe consolă.

C hecking pentru Substring cu metoda match().

În această abordare, JavaScript metoda string.match(). cu o expresie regulată verifică dacă există un subșir în șir, returnând null dacă nu este găsit sau o matrice de potriviri dacă este găsit.

Sintaxă:

string.match(regExp)>

Exemplu: În acest exemplu, folosim abordarea explicată mai sus.

Javascript
let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'there'; let containsSubstring = str.match(new RegExp(substring)) !== null; console.log(containsSubstring);>

Ieșire
true>

Explicaţie:

Codul caută subșirul acolo în cadrul șirului Bună ziua! Bun venit la geeksforgeeks folosind o expresie regulată. Acesta atribuie rezultatul `containsSubstring` și îl înregistrează.

a b c numere

Se verifică subșirul cu indexOf() Metoda

JavaScript Index de() metoda returnează poziția unui subșir într-un șir sau -1 dacă nu este găsit, permițându-ne să verificăm existența subșirului.

Sintaxă:

str.indexOf(searchValue , index);>

Exemplu: Aici, folosim abordarea explicată mai sus.

Javascript
let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'geeks'; let result = str.includes(substring); console.log(result);>

Ieșire
true>

Explicaţie:

Codul verifică dacă șirul Bună ziua! Bine ați venit la geeksforgeeks conține subșirul geeks. Acesta atribuie rezultatul „rezultatului” și îl înregistrează.

Se verifică subșir cu metoda search().

În această abordare, căutare() metoda este apelată pe șirul str cu un obiect expresie regulată creat din valoarea subșirului folosind noul RegExp(subșir). Acesta caută prima apariție a subșirului în șir. Verificând dacă rezultatul nu este egal cu -1, determinăm dacă subșirul există în șir. Rezultatul boolean este stocat în variabila containsSubstring și imprimat pe consolă.

Sintaxă:

string.search(new RegExp)>

Exemplu: Aici, folosim abordarea explicată mai sus.

Javascript
let str = 'Hello there! Welcome to geeksforgeeks' let substring = 'geeks'; let result = str.search(new RegExp(substring)) !== -1; console.log(result);>

Ieșire
true>

Explicaţie:

O expresie regulată este creată folosindnew RegExp(substring)>pentru a se potrivi cu tocilarii substring. Thesearch()>metoda este folosită pentru a găsi indicele desubstring>înstr>. Rezultatul boolean (fiesubstring>se gaseste instr>) este atribuităresult>.


Putem verifica dacă un șir conține un subșir folosind Loadsh

Puteți verifica subșirul folosind metoda Lodash _.strContains(). În această abordare putem folosi metoda lodash _.strContains(). , Va verifica prezența subșirului dat în șirul dat și va returna valoarea booleană.

// Defining lodash contrib variable let _ = require('lodash-contrib'); let bool = _.strContains('techcodeview.com', 'Geeks'); console.log('The String contains the ' + 'searched String : ', bool);>

Verificarea subșirului cu metoda slice().

În această metodă, vom folosi metoda slice() pentru a extrage subșiruri din șirul principal și a le compara cu valoarea de căutare. Această metodă iterează prin șirul principal, extrage un subșir de aceeași lungime cu valoarea de căutare la fiecare poziție și verifică egalitatea. Dacă se găsește o potrivire, se returnează adevărat.

Notă: Trebuie să instalați pachetul lodash-contrib pentru a rula acest cod.

Exemplu : Acest exemplu demonstrează utilizarea metodei slice() pentru a verifica un subșir într-un șir.

JavaScript
function containsSubstring(mainString, searchValue) {  let searchLength = searchValue.length;  let mainLength = mainString.length;    for (let i = 0; i <= mainLength - searchLength; i++) {  if (mainString.slice(i, i + searchLength) === searchValue) {  return true;  }  }  return false; } let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'geeks'; let result = containsSubstring(str, substring); console.log(result);>

Ieșire
true>