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().
- Kontrola podreťazca pomocou metódy test().
- Kontrola podreťazca pomocou metódy match().
- Kontrola podreťazca pomocou metódy indexOf().
- Kontrola podreťazca pomocou metódy search().
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