Kā pārbaudīt, vai virknē JavaScript ir apakšvirkne?
Apakšvirkne ir virknes daļa. Tas attēlo rakstzīmju secību, kas iegūta no lielākas virknes. Apakšvirkne var būt tik īsa kā viena rakstzīme vai paplašināties līdz vairākām rakstzīmēm.
Ir vairākas pieejas, lai pārbaudītu, vai virknē ir vai nav apakšvirknes:
Satura rādītājs
- Apakšvirknes pārbaude, izmantojot metodi include()
- Apakšvirknes pārbaude, izmantojot test() metodi
- Apakšvirknes pārbaude ar match() metodi
- Apakšvirknes pārbaude ar indexOf() metodi
- Apakšvirknes pārbaude, izmantojot meklēšanas () metodi
Apakšvirknes pārbaude, izmantojot metodi include()
JavaScript string.includes() metodi var izmantot, lai pārbaudītu, vai virknē ir noteikta apakšvirkne. Tas atgriežas taisnība ja apakšvirkne ir klāt. Šī metode ir reģistrjutīga.
Sintakse:
string.includes(searchvalue, start)
Piemērs: Šajā piemērā tiek izmantota JavaScript metode include(), lai pārbaudītu, vai virknē nav apakšvirknes.
Javascript let str = 'Hello there! Welcome to techcodeview.com'; let flag = str.includes('Geeks'); console.log(flag); Izvade
true
Paskaidrojums:
Kods pārbauda, vai virkne Sveiki! Laipni lūdzam techcodeview.com satur apakšvirkni Geeks. Tas piešķir šīs pārbaudes rezultātu mainīgajam “flag” un reģistrē to konsolē.
Apakšvirknes pārbaude, izmantojot test() metodi
Šajā metodē mēs izmantosim pārbaude() metode, lai pārbaudītu apakšvirkni virknē. Šī metode atgriež vērtību “true”, ja citā atrastā apakšvirkne atgriež vērtību “false”.
Sintakse:
/sub-string/.test( String );
Piemērs: Šajā piemērā tiek izmantota JavaScript metode test(), lai pārbaudītu, vai virknē nav apakšvirknes.
Javascript let str = 'Hello there! Welcome to geeksforgeeks'; let flag = /geeks/.test(str); console.log(flag);
Izvade
true
Paskaidrojums:
Kods pārbauda, vai virkne Sveiki! Laipni lūdzam geeksforgeeks satur apakšvirknes geeks, izmantojot regulāro izteiksmi. Tas piešķir rezultātu flag> un reģistrē to konsolē.
C hecking par apakšvirkni ar match() metodi
Šajā pieejā JavaScript string.match() metode ar regulāru izteiksmi pārbauda, vai virknē pastāv apakšvirkne, atgriežot nulli, ja tā nav atrasta, vai atbilstības masīvu, ja tiek atrasta.
Sintakse:
string.match(regExp)
Piemērs: Šajā piemērā mēs izmantojam iepriekš izskaidroto pieeju.
Javascript let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'there'; let containsSubstring = str.match(new RegExp(substring)) !== null; console.log(containsSubstring);
Izvade
true
Paskaidrojums:
Kods meklē apakšvirkni, kas atrodas virknē Sveiki! Laipni lūdzam geeksforgeeks, izmantojot regulāro izteiksmi. Tas piešķir rezultātu “containsSubstring” un reģistrē to.
Tiek pārbaudīta apakšvirkne ar indexOf() metode
JavaScript indexOf() metode atgriež apakšvirknes pozīciju virknē vai -1, ja tā nav atrasta, ļaujot mums pārbaudīt apakšvirknes esamību.
Sintakse:
str.indexOf(searchValue , index);
Piemērs: Šeit mēs izmantojam iepriekš izskaidroto pieeju.
Javascript let str = 'Hello there! Welcome to geeksforgeeks'; let substring = 'geeks'; let result = str.includes(substring); console.log(result);
Izvade
true
Paskaidrojums:
Kods pārbauda, vai virkne Sveiki! Laipni lūdzam geeksforgeeks satur apakšvirknes geeks. Tas piešķir rezultātu “rezultātam” un reģistrē to.
Notiek apakšvirknes pārbaude ar meklēšanas () metodi
Izmantojot šo pieeju, Meklēt() metode tiek izsaukta str virknē ar regulāras izteiksmes objektu, kas izveidots no apakšvirknes vērtības, izmantojot jauno RegExp(apakšvirkni). Tā meklē pirmo apakšvirknes gadījumu virknē. Pārbaudot, vai rezultāts nav vienāds ar -1, mēs nosakām, vai virknē pastāv apakšvirkne. Būla rezultāts tiek saglabāts mainīgajā includeSubstring un izdrukāts konsolē.
Sintakse:
string.search(new RegExp)
Piemērs: Šeit mēs izmantojam iepriekš izskaidroto pieeju.
Javascript let str = 'Hello there! Welcome to geeksforgeeks' let substring = 'geeks'; let result = str.search(new RegExp(substring)) !== -1; console.log(result);
Izvade
true
Paskaidrojums:
Regulārā izteiksme tiek izveidota, izmantojot new RegExp(substring)> lai atbilstu apakšvirknes geeks. The search()> metode tiek izmantota, lai atrastu indeksu substring> ietvaros str> . Būla rezultāts (vai substring> ir atrodams str> ) ir piešķirts result> .
Mēs varam pārbaudīt, vai virknē ir apakšvirkne, izmantojot Loadsh
Varat pārbaudīt apakšvirkni, izmantojot Lodash _.strContains() methd. Šajā pieejā mēs varam izmantot lodash _.strContains() metode , Tas pārbaudīs norādītās apakšvirknes klātbūtni dotajā virknē un atgriezīs Būla vērtību.
// Defining lodash contrib variable let _ = require('lodash-contrib'); let bool = _.strContains('techcodeview.com', 'Geeks'); console.log('The String contains the ' + 'searched String : ', bool); Apakšvirknes pārbaude, izmantojot slice() metodi
Šajā metodē mēs izmantosim slice() metodi, lai no galvenās virknes izvilktu apakšvirknes un salīdzinātu tās ar meklēšanas vērtību. Šī metode atkārtojas caur galveno virkni, katrā pozīcijā ekstrahē apakšvirkni, kuras garums ir vienāds ar meklēšanas vērtību, un pārbauda vienlīdzību. Ja tiek atrasta atbilstība, tā atgriež patieso vērtību.
Piezīme: Lai palaistu šo kodu, jāinstalē pakotne lodash-contrib.
Piemērs : Šajā piemērā ir parādīta slice() metodes izmantošana, lai pārbaudītu, vai virknē nav apakšvirknes.
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); Izvade
true