Perl splittfunksjon

Perl splittfunksjon
Split () -funksjonen brukes til å dele ut hvilken som helst streng basert på en bestemt avgrensning, og hvis ingen avgrenser er gitt, brukes plassen som standardavgrenser. Avgrenseren kan være et tegn, en liste over tegn, et vanlig uttrykksmønster, hasjverdien og en udefinert verdi. Denne funksjonen kan brukes på forskjellige måter av Perl -skriptet. Ulike bruksområder av split () -funksjonen i Perl er vist i denne opplæringen ved å bruke flere eksempler.

Syntaks

Split () kan brukes på forskjellige måter. Ulike syntakser med delt funksjon er gitt nedenfor.

EN. dele
Delingen uten noe argument vil dele verdien av standardvariabelen basert på plassen.

B. Split regex
Split -funksjonen med vanlig uttrykk vil bare dele verdien av standardvariabelen på hver kamp.

C. Split regex, streng
Delingsfunksjonen med det vanlige uttrykket og strengverdien vil dele verdien av strengen basert på mønsteret.

D. Split regex, streng, grense
Den delte funksjonen med det vanlige uttrykket, strengen og grensen vil dele strengverdien basert på mønsteret, og antall elementer i den returnerte matrisen vil avhenge av grenseverdien.

Eksempel 1: Splitt streng basert på rom

Lag en Perl -fil med følgende skript som vil dele en strengverdi basert på plassen. En streng med 3 ord har blitt brukt her. 'For' -sløyfen har blitt brukt til å skrive ut arrayverdiene som er returnert av Split () -funksjonen.

#Definer en tekst
$ text = "perl programmeringsspråk";
#Split teksten basert på rommet
@Split_arr = split (", $ tekst);
#Iterat hvert element i matrisen
foreach $ word (@split_arr)
#Trykk hvert delte ord i hver linje
Skriv ut "$ ord \ n";

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Den returnerte matrisen inneholder tre elementer som er skrevet ut her.

Eksempel 2: Delt streng basert på den aktuelle karakteren

Lag en Perl -fil med følgende skript som vil dele en strengverdi basert på tegnet, ':'. En streng med 3 ';' har blitt brukt her. Hvert element i matrisen som er returnert av Split () -funksjonen er skrevet ut separat ved å bruke indeksen.

#Definer en tekst
$ tekst = '11876: Mossaraf Karim: CSE';
#Split teksten basert på ':'
@Split_arr = split (':', $ tekst);
#Trykk hver matriseverdier
skriv ut "id: $ split_arr [0] \ n";
skriv ut "navn: $ split_arr [1] \ n";
skriv ut "avdeling: $ split_arr [2] \ n";

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Strengverdien er delt inn i tre ord basert på ':'.

Eksempel 3: Delt streng med grensen

Lag en Perl -fil med følgende skript som vil dele en strengverdi basert på tegnet, ',' og med grenseverdien. En streng med 6 ',' har blitt brukt og grenseverdien er satt til 5 her. Hvert element i matrisen som er returnert av Split () -funksjonen er skrevet ut separat ved å bruke indeksen. 'For' -sløyfen har blitt brukt til å skrive ut arrayverdiene som er returnert av Split () -funksjonen.

#Definer en tekst
$ farger = "rød, grønn, blå, hvit, svart, gul, cyan";
#Split teksten basert på tegnet og grensen
@Split_arr = Split (',', $ Colors, 5);
Skriv ut "Fargene er: \ n";
#Iterat hvert element i matrisen
foreach $ word (@split_arr)
#Trykk hvert delte ord i hver linje
Skriv ut "$ ord \ n";

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Strengverdien er delt inn i fem ord basert på ',' og grenseverdien 5.

Eksempel 4: Splitt streng med det vanlige uttrykket

Lag en Perl -fil med følgende skript som vil dele en strengverdi basert på det vanlige uttrykket. En streng med alfabetiske tegn og tall har blitt brukt her. Mønsteret '/+d/' har blitt brukt til å dele strengen basert på sifferet. Mønsteret '/+D/' har blitt brukt til å dele strengen basert på alfabeter. 'For' -sløyfen har blitt brukt til å skrive ut arrayverdiene som er returnert av Split () -funksjonen.

#Definer en tekst
$ text = "I Like69Perl50Programming";
#Split -streng basert på sifrene
@Words = Split (/\ D+/, $ tekst);
skriv ut "Utgangen etter å ha splittet streng basert på sifre: \ n";
#Interate matriseverdiene
Foreach $ ord (@words)

#Trykk hver verdi
skrive ut "$ ord";

#Add newline
skriv ut "\ n";
#Split -streng basert på tegnene
@Words = Split (/\ D+/, $ tekst);
Skriv ut "Utgangen etter å ha splittet streng basert på tegn: \ n";
#Interate matriseverdiene
Foreach $ ord (@words)

#Trykk hver verdi
skrive ut "$ ord";

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Den første split () -funksjonen har returnert en rekke tre elementer som er 'I Like', 'Perl' og 'Programmering'. Den andre split () -funksjonen har returnert en rekke to elementer som er '69' og '50'.

Eksempel 5: Splitt streng basert på en udefinert verdi

Lag en Perl -fil med følgende skript som vil dele en strengverdi basert på den udefinerte verdien. En streng på 11 tegn har blitt brukt her. Nøkkelordet 'undef' brukes som mønsterverdien til split () -funksjonen som vil dele strengen basert på hvert tegn på strengen. 'For' -sløyfen har blitt brukt til å skrive ut arrayverdiene som er returnert av Split () -funksjonen.

#Define en streng
$ tekst = 'Hello World';
Skriv ut "Hovedstrengverdien: \ n";
skriv ut "$ tekst";
#Split -streng basert på udefinert verdi
@Split_arr = Split (undef, $ tekst);
Skriv ut "\ n the Splited String Value: \ n";
#Iterat hvert element i matrisen
foreach $ val (@split_arr)
#Trykk hvert delte ord i hver linje
skriv ut "$ val";

skriv ut "\ n";

Produksjon
Følgende utgang vises etter å ha utført skriptet ovenfor. Den returnerte matrisen inneholder hvert tegn på strengen som et arrayelement.

Konklusjon

De forskjellige bruksområdene for Split () -funksjonen er vist i denne opplæringen ved å bruke forskjellige Perl -skript. Formålene med å bruke vanlige ekspresjonsmønstre og begrense i Split () -funksjonen er blitt forklart riktig i denne opplæringen for å hjelpe Perl -brukerne med å bruke denne funksjonen effektivt i skriptet.