Função de divisão Perl

Função de divisão Perl
A função split () é usada para dividir qualquer string com base em qualquer delimitador em particular e se nenhum delimitador for fornecido, o espaço é usado como delimitador padrão. O delimitador pode ser um personagem, uma lista de caracteres, um padrão de expressão regular, o valor do hash e um valor indefinido. Esta função pode ser usada de maneiras diferentes pelo script Perl. Diferentes usos da função Split () em Perl foram mostrados neste tutorial usando vários exemplos.

Sintaxe

O split () pode ser usado de maneiras diferentes. Diferentes sintaxes da função dividida são dadas abaixo.

A. dividir
A divisão sem qualquer argumento dividirá o valor da variável padrão com base no espaço.

B. Split regex
A função dividida com expressão regular apenas dividirá o valor da variável padrão em cada partida.

C. Split regex, string
A função dividida com a expressão regular e o valor da string dividirá o valor da string com base no padrão.

D. Split regex, string, limite
A função dividida com a expressão, string e limite regulares dividirão o valor da string com base no padrão e o número de elementos da matriz retornada dependerá do valor limite.

Exemplo 1: string dividida com base no espaço

Crie um arquivo Perl com o seguinte script que dividirá um valor de string com base no espaço. Uma sequência de 3 palavras foi usada aqui. O loop 'para' foi usado para imprimir os valores da matriz retornados pela função Split ().

#Define um texto
$ text = "linguagem de programação perl";
#Split o texto baseado no espaço
@split_arr = split (", $ text);
#Itere cada elemento da matriz
foreach $ word (@split_arr)
#Print cada palavra dividida em cada linha
imprimir "$ word \ n";

Saída
A saída a seguir aparecerá após a execução do script acima. A matriz retornada contém três elementos que são impressos aqui.

Exemplo 2: Split String com base no personagem específico

Crie um arquivo Perl com o seguinte script que dividirá um valor de string com base no personagem, ':'. Uma corda com 3 ';' foi usado aqui. Cada elemento da matriz retornado pela função Split () foi impresso separadamente usando o índice.

#Define um texto
$ text = '11876: Mossaraf Karim: CSE';
#Split o texto baseado em ':'
@split_arr = split (':', $ text);
#Print Cada valor da matriz
imprimir "ID: $ split_arr [0] \ n";
imprimir "Nome: $ split_arr [1] \ n";
imprimir "Departamento: $ split_arr [2] \ n";

Saída
A saída a seguir aparecerá após a execução do script acima. O valor da string foi dividido em três palavras com base no ':'.

Exemplo 3: Split String com o limite

Crie um arquivo Perl com o seguinte script que dividirá um valor de string com base no personagem, '' e com o valor limite. Uma string com 6 '' foi usada e o valor limite foi definido como 5 aqui. Cada elemento da matriz retornado pela função Split () foi impresso separadamente usando o índice. O loop 'para' foi usado para imprimir os valores da matriz retornados pela função Split ().

#Define um texto
$ colors = "vermelho, verde, azul, branco, preto, amarelo, ciano";
#Split o texto com base no personagem e limite
@split_arr = split (',', $ colors, 5);
imprimir "As cores são: \ n";
#Itere cada elemento da matriz
foreach $ word (@split_arr)
#Print cada palavra dividida em cada linha
imprimir "$ word \ n";

Saída
A saída a seguir aparecerá após a execução do script acima. O valor da string foi dividido em cinco palavras com base no '' 'e no valor limite 5.

Exemplo 4: Split String com a expressão regular

Crie um arquivo Perl com o seguinte script que dividirá um valor de string com base na expressão regular. Uma corda com caracteres e números alfabéticos foi usada aqui. O padrão '/+d/' tem sido usado para dividir a corda com base no dígito. O padrão '/+D/' tem sido usado para dividir a corda com base em alfabetos. O loop 'para' foi usado para imprimir os valores da matriz retornados pela função Split ().

#Define um texto
$ text = "Eu gosto de 69Perl50Programming";
#Split string com base nos dígitos
@words = split (/\ d+/, $ text);
Imprima "a saída após a divisão da string com base em dígitos: \ n";
#Itere os valores da matriz
foreach $ word (@words)

#Print o valor
imprimir "$ word";

#Add NewLine
imprimir "\ n";
#Split string com base nos personagens
@words = split (/\ d+/, $ text);
Imprima "A saída após a divisão da string com base nos caracteres: \ n";
#Itere os valores da matriz
foreach $ word (@words)

#Print o valor
imprimir "$ word";

Saída
A saída a seguir aparecerá após a execução do script acima. A primeira função dividida () retornou uma matriz de três elementos que são 'eu gosto', 'perl' e 'programação'. A segunda função dividida () retornou uma matriz de dois elementos que são '69' e '50'.

Exemplo 5: String Split com base em um valor indefinido

Crie um arquivo Perl com o seguinte script que dividirá um valor de string com base no valor indefinido. Uma sequência de 11 caracteres foi usada aqui. A palavra -chave 'undef' é usada como o valor do padrão da função split () que dividirá a string com base em cada caractere da string. O loop 'para' foi usado para imprimir os valores da matriz retornados pela função Split ().

#Define uma string
$ text = 'Hello World';
imprimir "o valor principal da string: \ n";
imprimir "$ text";
#Split string com base no valor indefinido
@split_arr = split (undef, $ text);
imprimir "\ nthe dividido, valor da string: \ n";
#Itere cada elemento da matriz
foreach $ val (@split_arr)
#Print cada palavra dividida em cada linha
imprimir "$ val";

imprimir "\ n";

Saída
A saída a seguir aparecerá após a execução do script acima. A matriz retornada contém cada caractere da string como um elemento de matriz.

Conclusão

Os vários usos da função Split () foram mostrados neste tutorial usando diferentes scripts Perl. Os propósitos de usar padrões de expressão regular e limite na função Split () foram explicados corretamente neste tutorial para ajudar os usuários do PERL a usar essa função com eficiência no script.