about_Split

TÓPICO
    about_Split
DESCRIÇÃO RESUMIDA
    Explica como usar o operador de divisão para dividir uma ou mais 
    strings em substrings. 
DESCRIÇÃO LONGA
    O operador de divisão divide uma ou mais strings em 
    substrings. Você pode alterar os seguintes 
    elementos da operação de divisão:  -- Delimitador. O padrão é um espaço em branco, mas você pode especificar 
    caracteres, strings, padrões ou blocos de script que 
especifiquem o delimitador.  -- Número máximo de substrings. O padrão é retornar 
    todas as substrings. Se você especificar um número 
    menor do que o de substrings, as subcadeias 
    restantes serão concatenadas na última. 
 -- Opções que especificam as condições nas quais ocorre a 
    correspondência de delimitador, como SimpleMatch e Multiline. 
  SINTAXE
   O diagrama a seguir mostra a sintaxe do operador -split.
   Os nomes de parâmetros não aparecem no comando. Inclua apenas os 
   valores de parâmetros. Os valores devem aparecer na ordem 
   especificada no diagrama de sintaxe.
 -Split <String>
 <String> -Split <Delimiter>[,<Max-substrings>[,"<Options>"]]
 <String> -Split {<ScriptBlock>} [,<Max-substrings>]
   Em qualquer instrução de divisão, você pode substituir -iSplit ou -cSplit por -split.
   Os operadores -iSplit e -split não diferenciam maiúsculas de minúsculas. 
   O operador -cSplit diferencia maiúsculas de minúsculas, ou seja, 
   o uso de maiúsculas e minúsculas é levado em conta quando as regras do 
   delimitador são aplicadas.
  PARÂMETROS
   <String>
        Especifica uma ou mais strings para divisão. Se 
        você enviar várias strings, todas serão 
        divididas usando as mesmas regras de delimitador.
        Exemplo:
     -split "vermelho amarelo azul verde"
     vermelho
            amarelo
     azul
     verde
   <Delimiter>
        Os caracteres que identificam o término de uma subcadeia de 
        caracteres. O delimitador padrão é um espaço em branco, o que 
        inclui espaços e caracteres não-imprimíveis, como nova linha 
        (`n) e tabulação (`t). Quando as strings são 
        divididas, o delimitador é omitido de todas as subcadeias. 
        Exemplo:
     "Sobrenome:Nome:Endereço" -split ":"
     Sobrenome
     Nome
     Endereço     <Max-substrings>
        Especifica o número máximo de substrings 
        retornadas. O padrão é retornar todas as subcadeias divididas 
        pelo delimitador. Se houver mais subcadeias, elas serão 
        concatenadas à subcadeia final. Se houver menos subcadeias, 
        todas serão retornadas. Um valor 0 e valores negativos 
        retornam todas as subcadeias.
        Se você enviar mais de uma string (uma matriz 
        de strings) ao operador de divisão, o limite 
        máximo de subcadeias será aplicado separadamente a cada 
        string. Exemplo:
     $c = "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Netuno" 
     $c -split ",", 5
     Mercúrio
     Vênus
     Terra
     Marte
     Júpiter,Saturno,Urano,Netuno     <ScriptBlock>
        Uma expressão que especifica as regras de aplicação do 
        delimitador. A expressão deve ser avaliada como $true ou 
        $false. Coloque o bloco de script entre chaves. Exemplo:             $c = "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Net
            uno" $c -split {$_ -eq "e" -or $_ -eq "p"}
     M
     rcúrio,Vênus,T
     rra, Mart
     ,Jú
     iter,Saturno,Urano,N
     tuno
    <Options>
        Inclua o nome da opção entre aspas. As opções serão válidas 
        somente quando o parâmetro <Max-substrings> for usado na 
        instrução.
        A sintaxe do parâmetro de opções é:
     "SimpleMatch [,IgnoreCase]"
            "[RegexMatch] [,IgnoreCase] [,CultureInvariant] 
            [,IgnorePatternWhitespace] [,ExplicitCapture] 
            [,Singleline | ,Multiline]"         As opções de SimpleMatch são:
          
          -- SimpleMatch: usa a comparação simples entre cadeias de 
             caracteres ao avaliar o delimitador. Não pode ser usado 
             com RegexMatch.
          -- IgnoreCase: força a correspondência sem diferenciar 
             maiúsculas de minúsculas, mesmo que o operador -cSplit 
             seja especificado.
        As opções de RegexMatch são:
          -- RegexMatch: usa a correspondência entre expressões 
             regulares para avaliar o delimitador. Esse é o 
             comportamento padrão. Não pode ser usado com SimpleMatch.
          -- IgnoreCase: força a correspondência sem diferenciar 
             maiúsculas de minúsculas, mesmo que o operador -cSplit 
             seja especificado.
          -- CultureInvariant: ignora diferenças culturais de idioma 
             ao avaliar o delimitador. Válido somente com RegexMatch.
          -- IgnorePatternWhitespace: ignora espaços em branco sem 
             escape e comentários marcados com o sinal de número (#). 
             Válido somente com RegexMatch.
          -- Multiline: o modo Multiline reconhece o início e o 
             término de linhas e strings. Válido 
             somente com RegexMatch. Singleline é o padrão.
          -- Singleline: o modo Singleline reconhece somente o início 
             e o término de strings. Válido somente com 
             RegexMatch. Singleline é o padrão.
          -- ExplicitCapture: ignora grupos de correspondência não 
             nomeados, de forma que só grupos de captura explícitos 
             sejam retornados na lista de resultados. Válido somente 
             com RegexMatch.   OPERADORES DE DIVISÃO UNÁRIOS E BINÁRIOS
    O operador de divisão unário (-split <string>) tem precedência sobre a 
    vírgula. Como resultado, se você enviar uma lista de cadeias de 
    caracteres separada por vírgulas ao operador de divisão unário, 
    só a primeira string (antes da primeira vírgula) 
    será dividida.
    Para dividir mais de uma string, use o operador de 
    divisão binário (<string> -split <delimiter>). Coloque todas as 
    strings entre parêntesesou armazene-as em uma variável, 
    e depois envie a variável ao operador de divisão.
    Considere o exemplo abaixo:
 -split "1 2", "a b"
 1
 2
  a b
 "1 2", "a b" -split " "
 1
 2
  a
 b
 -split ("1 2", "a b")
 1
 2
  a
 b
 $a = "1 2", "a b"
 -split $a
 1
 2
  a
 b
    
  EXEMPLOS
    A instrução a seguir divide a string no espaço em branco.
 C:\PS> -split "Windows PowerShell 2.0`nWindows PowerShell comunicação remota"
 Windows
 PowerShell
 2.0
 Windows
 PowerShell
 comunicação
 remota
    A instrução a seguir divide a string em qualquer vírgula.
 C:\PS> "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Netuno" -split ','
        Mercúrio
        Vênus
        Terra 
        Marte
        Júpiter
        Saturno
        Urano
        Netuno
    A instrução a seguir divide a string no padrão "er".
 C:\PS> "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Netuno" -split 'er'
 M
 cúrio,Vênus,Terra,Marte,Júpit
 ,Saturno,Urano,Netuno
    A instrução a seguir executa uma divisão diferenciando maiúsculas 
    de minúsculas na letra "N".
 C:\PS> "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Netuno" -cSplit 'N'
 Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,
 etuno
    A instrução a seguir divide a string em "e" e "t".
        C:\PS> "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Netuno" -split '[et]'
        M
        rcúrio,V
        nus,
        rra,Mar
        ,Júpi
        r,Sa
        urno,Urano,N
        uno
    A instrução a seguir divide a string em "e" e "r", 
    mas limita as subcadeias resultantes a seis.
        C:\PS> "Mercúrio,Vênus,Terra,Marte,Júpiter,Saturno,Urano,Netuno" -split '[er]', 6
 M
 cú
 io,V
 nus,T
 rra,Marte,Júpiter,Saturno,Urano,Netuno
    A instrução a seguir divide uma string em três subcadeias. 
        
        C:\PS> "a,b,c,d,e,f,g,h" -split ",", 3
 a
 b
 c,d,e,f,g,h
    A instrução a seguir divide duas strings em três 
    subcadeias (o limite é aplicado independentemente a cada cadeia 
    de caracteres). 
        
        C:\PS> "a,b,c,d", "e,f,g,h" -split ",", 3
 a
 b
 c,d
 e
 f
 g,h
    A instrução a seguir divide cada linha da string 
    here no primeiro dígito. Ela usa a opção Multiline para 
    reconhecer o início de cada linha e string.
    O zero representa o valor "retornar todas" do parâmetro 
    "Max-substrings". Você só poderá usar opções, como Multiline, 
    quando o valor máximo de subcadeias for especificado.
    
        C:\PS> $a = @'
 1A primeira linha.
 2A segunda linha.
 3A terceira de três linhas.
 '@
        
        C:\PS> $a -split "^\d", 0, "multiline"  A primeira linha.
 A segunda linha.
 A terceira de três linhas.
    A instrução a seguir usa a opção SimpleMatch para direcionar o 
    operador -split a interpretar o delimitador de ponto (.) 
    literalmente. 
    Com o padrão, RegexMatch, o ponto entre aspas (".") é 
    interpretado para corresponder a qualquer caractere, com exceção 
    de um caractere de nova linha. Como resultado, a instrução de 
    divisão retorna uma linha em branco para todos os caracteres, 
    menos o de nova linha.
    O zero representa o valor "retornar todas" do parâmetro 
    "Max-substrings". Você só poderá usar opções, como SimpleMatch, 
    quando o valor máximo de subcadeias for especificado.
        C:\PS> "Isto.é.um.teste" -split ".", 0, "simplematch"
 Isto
        é
        um 
 teste 
    A instrução a seguir divide a string em um de dois 
    delimitadores, dependendo do valor de uma variável.
        C:\PS>  $i = 1
        C:\PS>  $c = "Sobrenome, Nome; Endereço, Cidade, Estado, CEP"
        C:\PS>  $c -split {if ($i -lt 1) {$_ -eq ","} else {$_ -eq ";"}}
 Sobrenome, Nome
  Endereço, Cidade, Estado, CEP
       As instruções de divisão a seguir dividem um arquivo XML primeiro 
    no colchete angular, e depois no ponto-e-vírgula. O resultado é 
    uma versão legível do arquivo XML.
        C:\PS>  get-process powershell | export-clixml ps.xml
        C:\PS>  $x = import-clixml ps.xml
        C:\PS>  $x = $x -split "<"
        C:\PS>  $x = $x -split ";"
    Para exibir o resultado, digite "$x".  C:\PS> $x
        @{__NounName=Process
 Name=powershell
 Handles=428
 VM=150081536
 WS=34840576
 PM=36253696
 ...
CONSULTE TAMBÉM
    Split-Path
    about_Operators
    about_Comparison_Operators
    about_Join