Perl Split -Funktion

Perl Split -Funktion
Mit der Funktion von Split () wird eine Zeichenfolge basierend auf einem bestimmten Trennzeichen dividiert und wenn kein Trennzeichen bereitgestellt wird, wird der Speicherplatz als Standard -Trennzeichen verwendet. Der Trennzeichen kann ein Zeichen, eine Liste von Zeichen, ein reguläres Ausdrucksmuster, der Hash -Wert und ein undefinierter Wert sein. Diese Funktion kann auf unterschiedliche Weise vom Perl -Skript verwendet werden. In diesem Tutorial wurden verschiedene Verwendungen der Funktion split () in Perl unter Verwendung mehrerer Beispiele gezeigt.

Syntax

Der Split () kann auf unterschiedliche Weise verwendet werden. Verschiedene Syntaxe der Split -Funktion sind unten angegeben.

A. Teilt
Die Spaltung ohne Argument spaltet den Wert der Standardvariablen basierend auf dem Speicherplatz.

B. Split Regex
Die Split -Funktion mit regulärem Ausdruck spaltet nur den Wert der Standardvariablen in jedem Spiel.

C. Split Regex, Zeichenfolge geteilt
Die Split -Funktion mit dem regulären Ausdruck und dem Stringwert spaltet den Wert der Zeichenfolge basierend auf dem Muster.

D. Teilen Sie Regex, String, Limit
Die Split -Funktion mit dem regulären Ausdruck, String und Grenze spaltet den Zeichenfolgenwert basierend auf dem Muster, und die Anzahl der Elemente des zurückgegebenen Arrays hängt vom Grenzwert ab.

Beispiel 1: Split -Zeichenfolge basierend auf dem Speicherplatz

Erstellen Sie eine Perl -Datei mit dem folgenden Skript, das einen Zeichenfolgenwert basierend auf dem Speicherplatz aufteilt. Hier wurde eine Reihe von 3 Wörtern verwendet. Die 'für' Schleife wurde verwendet, um die Array -Werte zu drucken, die von der Funktion split () zurückgegeben wurden.

#Einen Text definieren
$ text = "Perl Programmiersprache";
#Split den Text basierend auf dem Speicherplatz
@split_arr = split (", $ text);
#Jeweils jedes Element des Arrays
foreach $ word (@split_arr)
#Abdruck jedes geteilte Wort in jeder Zeile
Druck "$ word \ n";

Ausgang
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Das zurückgegebene Array enthält drei Elemente, die hier gedruckt werden.

Beispiel 2: Split -Zeichenfolge basierend auf dem jeweiligen Zeichen

Erstellen Sie eine Perl -Datei mit dem folgenden Skript, das einen Zeichenfolgenwert basierend auf dem Zeichen aufteilt: ':'. Eine Zeichenfolge mit 3 ';' wurde hier verwendet. Jedes Element des von der Funktion split () zurückgegebenen Arrays wurde separat unter Verwendung des Index gedruckt.

#Einen Text definieren
$ text = '11876: Mossaraf Karim: CSE';
#Split den Text basierend auf ':'
@split_arr = split (':', $ text);
#Abdruck jeder Arraywertewerte
print "id: $ split_arr [0] \ n";
Druck "Name: $ split_arr [1] \ n";
Druck "Abteilung: $ split_arr [2] \ n";

Ausgang
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Der String -Wert wurde in drei Wörter unterteilt, die auf dem ':' basieren. '.

Beispiel 3: Split -Zeichenfolge mit der Grenze aufgeteilt

Erstellen Sie eine Perl -Datei mit dem folgenden Skript, das einen Stringwert basierend auf dem Zeichen ",", und mit dem Grenzwert aufteilt. Eine Zeichenfolge mit 6 ',' wurde verwendet und der Grenzwert wurde hier auf 5 gesetzt. Jedes Element des von der Funktion split () zurückgegebenen Arrays wurde separat unter Verwendung des Index gedruckt. Die 'für' Schleife wurde verwendet, um die Array -Werte zu drucken, die von der Funktion split () zurückgegeben wurden.

#Einen Text definieren
$ colors = "rot, grün, blau, weiß, schwarz, gelb, cyan";
#Split den Text basierend auf dem Charakter und der Grenze
@split_arr = split (',', $ colors, 5);
Druck "Die Farben sind: \ n";
#Jeweils jedes Element des Arrays
foreach $ word (@split_arr)
#Abdruck jedes geteilte Wort in jeder Zeile
Druck "$ word \ n";

Ausgang
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Der String -Wert wurde in fünf Wörter unterteilt, die auf dem ',' und dem Grenzwert 5 basieren.

Beispiel 4: Split String mit dem regulären Ausdruck

Erstellen Sie eine Perl -Datei mit dem folgenden Skript, das einen Zeichenfolgewert basierend auf dem regulären Ausdruck aufteilt. Eine Zeichenfolge mit alphabetischen Zeichen und Zahlen wurde hier verwendet. Das Muster '/+d/' wurde verwendet, um die Zeichenfolge basierend auf der Ziffer zu teilen. Das Muster '/+D/' wurde verwendet, um die Zeichenfolge basierend auf Alphabeten zu teilen. Die 'für' Schleife wurde verwendet, um die Array -Werte zu drucken, die von der Funktion split () zurückgegeben wurden.

#Einen Text definieren
$ text = "Ich mag69perl50Programming";
#Split String basierend auf den Ziffern
@words = split (/\ d+/, $ text);
Drucken Sie "die Ausgabe nach dem Aufteilungszeichenfolge basierend auf Ziffern: \ n";
#Die Array -Werte entfernen
foreach $ word (@words)

#Prinke den einzelnen Wert
"$ word" drucken;

#Add Newline
Druck "\ n";
#Split String basierend auf den Zeichen
@words = split (/\ d+/, $ text);
Drucken Sie "die Ausgabe nach dem Spalten von Zeichenfolge basierend auf Zeichen: \ n";
#Die Array -Werte entfernen
foreach $ word (@words)

#Prinke den einzelnen Wert
"$ word" drucken;

Ausgang
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Die erste Split () -Funktion hat ein Array von drei Elementen zurückgegeben, die "Ich mag", "Perl" und "Programmierung" sind. Die zweite Split () -Funktion hat ein Array von zwei Elementen zurückgegeben, die '69' und '50' sind.

Beispiel 5: Split -Zeichenfolge basierend auf einem undefinierten Wert

Erstellen Sie eine Perl -Datei mit dem folgenden Skript, das einen Zeichenfolgenwert basierend auf dem undefinierten Wert aufteilt. Hier wurde eine Reihe von 11 Zeichen verwendet. Das Schlüsselwort "UNDEF" wird als Musterwert der Funktion split () verwendet, die die Zeichenfolge basierend auf jedem Zeichen der Zeichenfolge aufteilt. Die 'für' Schleife wurde verwendet, um die Array -Werte zu drucken, die von der Funktion split () zurückgegeben wurden.

#Define eine Zeichenfolge
$ text = 'Hallo Welt';
Druck "den Hauptstringwert: \ n";
"$ text" drucken;
#Split String basierend auf undefinierter Wert
@split_arr = split (UNDEF, $ text);
print "\ nThe gespaltener String -Wert: \ n";
#Jeweils jedes Element des Arrays
foreach $ val (@split_arr)
#Abdruck jedes geteilte Wort in jeder Zeile
drucken "$ val";

Druck "\ n";

Ausgang
Die folgende Ausgabe wird nach der Ausführung des obigen Skripts angezeigt. Das zurückgegebene Array enthält jedes Zeichen der Zeichenfolge als Array -Element.

Abschluss

Die verschiedenen Verwendungen der Funktion Split () wurden in diesem Tutorial unter Verwendung verschiedener Perl -Skripte gezeigt. Die Zwecke der Verwendung regulärer Expressionsmuster und Grenze in der Funktion Split () wurden in diesem Tutorial ordnungsgemäß erklärt, um den Perl -Benutzern dabei zu helfen, diese Funktion effizient im Skript zu verwenden.