Jak zkontrolovat, zda řetězec obsahuje podřetězec v JavaScriptu?

Podřetězec je část řetězce. Představuje posloupnost znaků extrahovaných z většího řetězce. Podřetězec může být krátký jako jeden znak nebo může mít více znaků.

Existuje několik způsobů, jak zkontrolovat, zda řetězec obsahuje podřetězec nebo ne:

Obsah

Kontrola podřetězce pomocí metody include().

JavaScript string.includes() metodu lze použít ke kontrole, zda řetězec obsahuje zadaný podřetězec. Vrací se skutečný pokud je podřetězec přítomen. Tato metoda rozlišuje malá a velká písmena.

Syntax:

string.includes(searchvalue, start) 

Příklad: Tento příklad používá metodu include() jazyka JavaScript ke kontrole podřetězce v řetězci.

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

Výstup
true 

Vysvětlení:

Kód kontroluje, zda je řetězec Hello there! Vítejte na techcodeview.com obsahuje podřetězec Geeks. Výsledek této kontroly přiřadí proměnné `flag` a zaprotokoluje jej do konzole.

Kontrola podřetězce pomocí metody test().

V této metodě použijeme test() metoda pro testování podřetězce v řetězci. Tato metoda vrátí hodnotu true, pokud podřetězec nalezený else vrátí hodnotu false.

Syntax:

/sub-string/.test( String ); 

Příklad: Tento příklad používá metodu test() jazyka JavaScript ke kontrole podřetězce v řetězci.

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

Výstup
true 

Vysvětlení:

Kód testuje, zda řetězec Hello there! Welcome to geeksforgeeks obsahuje podřetězec geeks používající regulární výraz. Přiřadí výsledek k flag> a přihlásí jej do konzole.

C hecking for Substring with match() Method

V tomto přístupu JavaScript metoda string.match(). s regulárním výrazem zkontroluje, zda v řetězci existuje podřetězec, vrátí hodnotu null, pokud nebude nalezen, nebo pole shod, pokud bude nalezen.

Syntax:

string.match(regExp) 

Příklad: V tomto příkladu používáme výše vysvětlený přístup.

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

Výstup
true 

Vysvětlení:

Kód tam hledá podřetězec v řetězci Hello there! Vítejte u geeksforgeeks používajících regulární výraz. Výsledek přiřadí `containsSubstring` a zaprotokoluje jej.

Kontrola podřetězce pomocí Metoda indexOf().

JavaScript indexOf() metoda vrací pozici podřetězce v řetězci nebo -1, pokud není nalezena, což nám umožňuje zkontrolovat existenci podřetězce.

Syntax:

str.indexOf(searchValue , index); 

Příklad: Zde používáme výše vysvětlený přístup.

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

Výstup
true 

Vysvětlení:

Kód kontroluje, zda je řetězec Hello there! Vítejte v geeksforgeeks obsahuje podřetězec geeks. Výsledek přiřadí „výsledku“ a zaprotokoluje jej.

Kontrola podřetězce s metodou search().

V tomto přístupu, Vyhledávání() metoda je volána na řetězci str s objektem regulárního výrazu vytvořeným z hodnoty podřetězce pomocí nového RegExp(substring). Hledá první výskyt podřetězce v řetězci. Kontrolou, zda se výsledek nerovná -1, určíme, zda podřetězec v řetězci existuje. Booleovský výsledek se uloží do proměnné includeSubstring a vytiskne se do konzole.

Syntax:

string.search(new RegExp) 

Příklad: Zde používáme výše vysvětlený přístup.

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

Výstup
true 

Vysvětlení:

Regulární výraz je vytvořen pomocí new RegExp(substring)> aby odpovídaly podřetězcovým geekům. The search()> metoda se používá k nalezení indexu substring> v rámci str> . Booleovský výsledek (zda substring> se nachází v str> ) je přiřazen result> .


Můžeme zkontrolovat, zda řetězec obsahuje podřetězec pomocí Loadsh

Podřetězec můžete zkontrolovat pomocí metody Lodash _.strContains() , V tomto přístupu můžeme použít metoda lodash _.strContains(). , Zkontroluje přítomnost daného podřetězce v daném řetězci a vrátí booleovskou 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 podřetězce pomocí metody slice().

V této metodě použijeme metodu slice() k extrahování dílčích řetězců z hlavního řetězce a jejich porovnání s hledanou hodnotou. Tato metoda iteruje hlavním řetězcem, extrahuje podřetězec stejné délky jako hledaná hodnota na každé pozici a kontroluje rovnost. Pokud je nalezena shoda, vrátí hodnotu true.

Poznámka: Chcete-li spustit tento kód, musíte nainstalovat balíček lodash-contrib.

Příklad : Tento příklad ukazuje použití metody slice() ke kontrole podřetězce v řetězci.

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ýstup
true