Ako skontrolovať, či reťazec obsahuje podreťazec v JavaScripte?

Podreťazec je časť reťazca. Predstavuje postupnosť znakov extrahovaných z väčšieho reťazca. Podreťazec môže byť krátky ako jeden znak alebo môže obsahovať viacero znakov.

Existuje niekoľko spôsobov, ako skontrolovať, či reťazec obsahuje podreťazec alebo nie:

Obsah

Kontrola podreťazca pomocou metódy include().

JavaScript string.includes() metódu možno použiť na kontrolu, či reťazec obsahuje zadaný podreťazec. Vracia sa pravda ak je prítomný podreťazec. Táto metóda rozlišuje malé a veľké písmená.

Syntax:

string.includes(searchvalue, start) 

Príklad: Tento príklad používa metódu include() jazyka JavaScript na kontrolu podreťazca v reťazci.

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

Výkon
true 

Vysvetlenie:

Kód skontroluje, či je reťazec Hello there! Vitajte na techcodeview.com obsahuje podreťazec Geeks. Výsledok tejto kontroly priradí premennej `flag` a prihlási ho do konzoly.

Kontrola podreťazca pomocou metódy test().

Pri tejto metóde použijeme test() metóda na testovanie podreťazca v reťazci. Táto metóda vráti hodnotu true, ak podreťazec nájdený else vráti hodnotu false.

Syntax:

/sub-string/.test( String ); 

Príklad: Tento príklad používa metódu test() jazyka JavaScript na kontrolu podreťazca v reťazci.

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

Výkon
true 

Vysvetlenie:

Kód testuje, či reťazec Hello there! Welcome to geeksforgeeks obsahuje podreťazec geeks pomocou regulárneho výrazu. Priradí výsledok k flag> a prihlási ho do konzoly.

C hľadanie podreťazca pomocou metódy match().

V tomto prístupe JavaScript metóda string.match(). s regulárnym výrazom skontroluje, či v reťazci existuje podreťazec, a ak sa nenájde, vráti hodnotu null alebo pole zhôd, ak sa nájde.

Syntax:

string.match(regExp) 

Príklad: V tomto príklade používame vyššie vysvetlený prístup.

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

Výkon
true 

Vysvetlenie:

Kód tam vyhľadá podreťazec v reťazci Hello there! Vitajte v geeksforgeeks pomocou regulárneho výrazu. Výsledok priradí `containsSubstring` a zaprotokoluje ho.

Kontroluje sa podreťazec s metóda indexOf().

JavaScript indexOf() metóda vráti pozíciu podreťazca v reťazci alebo -1, ak sa nenájde, čo nám umožňuje skontrolovať existenciu podreťazca.

Syntax:

str.indexOf(searchValue , index); 

Príklad: Tu používame vyššie vysvetlený prístup.

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

Výkon
true 

Vysvetlenie:

Kód skontroluje, či je reťazec Hello there! Welcome to geeksforgeeks obsahuje podreťazec geeks. Výsledok priradí k „výsledku“ a zaznamená ho.

Kontroluje sa podreťazec s metódou search().

Pri tomto prístupe, Vyhľadávanie() metóda sa volá na reťazci str s objektom regulárneho výrazu vytvoreným z hodnoty podreťazca pomocou nového RegExp(substring). Hľadá prvý výskyt podreťazca v reťazci. Kontrolou, či sa výsledok nerovná -1, zistíme, či podreťazec v reťazci existuje. Booleovský výsledok je uložený v premennej includeSubstring a vytlačený na konzole.

Syntax:

string.search(new RegExp) 

Príklad: Tu používame vyššie vysvetlený prístup.

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

Výkon
true 

Vysvetlenie:

Regulárny výraz sa vytvorí pomocou new RegExp(substring)> aby zodpovedali podreťazcovým geekom. The search()> metóda sa používa na nájdenie indexu substring> v rámci str> . Booleovský výsledok (či substring> sa nachádza v str> ) je priradený result> .


Či reťazec obsahuje podreťazec, môžeme skontrolovať pomocou Loadsh

Podreťazec môžete skontrolovať pomocou metódy Lodash _.strContains(), V tomto prístupe môžeme použiť metóda lodash _.strContains(). , Skontroluje prítomnosť daného podreťazca v danom reťazci a vráti boolovskú hodnotu.

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

Kontrola podreťazca pomocou metódy slice().

V tejto metóde použijeme metódu slice() na extrahovanie podreťazcov z hlavného reťazca a ich porovnanie s hľadanou hodnotou. Táto metóda iteruje cez hlavný reťazec, extrahuje podreťazec rovnakej dĺžky ako hľadaná hodnota na každej pozícii a kontroluje rovnosť. Ak sa nájde zhoda, vráti hodnotu true.

Poznámka: Na spustenie tohto kódu musíte nainštalovať balík lodash-contrib.

Príklad : Tento príklad ukazuje použitie metódy slice() na kontrolu podreťazca v reťazci.

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); 

Výkon
true