Kako preveriti, ali niz vsebuje podniz v JavaScriptu?
Podniz je del niza. Predstavlja zaporedje znakov, izvlečenih iz večjega niza. Podniz je lahko kratek kot en znak ali se razširi na več znakov.
Obstaja več pristopov za preverjanje, ali niz vsebuje podniz ali ne:
Kazalo
- Preverjanje podniza z metodo include().
- Preverjanje podniza z metodo test().
- Preverjanje podniza z metodo match().
- Preverjanje podniza z metodo indexOf().
- Preverjanje podniza z metodo search().
Preverjanje podniza z metodo include().
JavaScript string.includes() lahko uporabite za preverjanje, ali niz vsebuje določen podniz. Vrača se prav če je podniz prisoten. Ta metoda razlikuje med velikimi in malimi črkami.
Sintaksa:
string.includes(searchvalue, start)
primer: Ta primer uporablja metodo JavaScript include() za preverjanje podniza v nizu.
Javascript let str = 'Hello there! Welcome to techcodeview.com'; let flag = str.includes('Geeks'); console.log(flag); Izhod
true
Pojasnilo:
Koda preveri, ali je niz Hello there! Dobrodošli na techcodeview.com vsebuje podniz Geeks. Rezultat tega preverjanja dodeli spremenljivki `flag` in ga zabeleži v konzolo.
Preverjanje podniza z metodo test().
Pri tej metodi bomo uporabili test() metoda za testiranje podniza v nizu. Ta metoda vrne true, če najden podniz else vrne false.
Sintaksa:
/sub-string/.test( String );
primer: Ta primer uporablja metodo test() JavaScripta za preverjanje podniza v nizu.
Javascript let str = 'Hello there! Welcome to geeksforgeeks'; let flag = /geeks/.test(str); console.log(flag);
Izhod
true
Pojasnilo:
Koda preveri, ali je niz Hello there! Welcome to geeksforgeeks vsebuje podniz geeks z uporabo regularnega izraza. Rezultat dodeli flag> in ga prijavi v konzolo.
C preverjanje podniza z metodo match().
Pri tem pristopu JavaScript metoda string.match(). z regularnim izrazom preveri, ali podniz obstaja v nizu, vrne ničelno vrednost, če ni najden, ali niz ujemanj, če je najden.
Sintaksa:
string.match(regExp)
primer: V tem primeru uporabljamo zgoraj razložen pristop.
Javascript let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'there'; let containsSubstring = str.match(new RegExp(substring)) !== null; console.log(containsSubstring);
Izhod
true
Pojasnilo:
Koda išče podniz znotraj niza Pozdravljeni! Dobrodošli v geeksforgeeks z uporabo regularnega izraza. Rezultat dodeli `containsSubstring` in ga zabeleži.
Preverjanje podniza z Metoda indexOf().
JavaScript indeks() vrne položaj podniza v nizu ali -1, če ni najden, kar nam omogoča, da preverimo obstoj podniza.
Sintaksa:
str.indexOf(searchValue , index);
primer: Tukaj uporabljamo zgoraj razložen pristop.
Javascript let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'geeks'; let result = str.includes(substring); console.log(result);
Izhod
true
Pojasnilo:
Koda preveri, ali je niz Hello there! Dobrodošli v geeksforgeeks vsebuje podniz geeks. Rezultat dodeli 'rezultatu' in ga zabeleži.
Preverjanje podniza z metodo search().
Pri tem pristopu je Iskanje() metoda se kliče na niz str z objektom regularnega izraza, ustvarjenim iz vrednosti podniza z uporabo novega RegExp(substring). Išče prvo pojavitev podniza znotraj niza. S preverjanjem, ali rezultat ni enak -1, ugotovimo, ali podniz obstaja v nizu. Logični rezultat je shranjen v spremenljivki containsSubstring in natisnjen na konzoli.
Sintaksa:
string.search(new RegExp)
primer: Tukaj uporabljamo zgoraj opisani pristop.
Javascript let str = 'Hello there! Welcome to geeksforgeeks' let substring = 'geeks'; let result = str.search(new RegExp(substring)) !== -1; console.log(result);
Izhod
true
Pojasnilo:
Regularni izraz je ustvarjen z uporabo new RegExp(substring)> da se ujemajo s podnizi geekov. The search()> metoda se uporablja za iskanje indeksa substring> znotraj str> . Logični rezultat (ali substring> se nahaja v str> ) je dodeljen result> .
Z uporabo Loadsh lahko preverimo, ali niz vsebuje podniz
Podniz lahko preverite z metodo Lodash _.strContains(). Pri tem pristopu lahko uporabimo metoda lodash _.strContains(). , Preveril bo prisotnost danega podniza v danem nizu in vrnil logično vrednost.
// Defining lodash contrib variable let _ = require('lodash-contrib'); let bool = _.strContains('techcodeview.com', 'Geeks'); console.log('The String contains the ' + 'searched String : ', bool); Preverjanje podniza z metodo slice().
Pri tej metodi bomo uporabili metodo slice() za ekstrahiranje podnizov iz glavnega niza in njihovo primerjavo z iskalno vrednostjo. Ta metoda ponovi skozi glavni niz, izvleče podniz enake dolžine kot iskalna vrednost na vsakem položaju in preveri enakost. Če se najde ujemanje, vrne true.
Opomba: Za izvajanje te kode morate namestiti paket lodash-contrib.
Primer : Ta primer prikazuje uporabo metode slice() za preverjanje podniza v nizu.
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); Izhod
true