Convert-String
Formata uma cadeia de caracteres para corresponder a exemplos.
Sintaxe
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
Description
O cmdlet Convert-String formata uma cadeia de caracteres para corresponder ao formato de exemplos.
Exemplos
Exemplo 1: converter o formato de uma cadeia de caracteres
"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."
Han, M.
Hance, J.
Ahs, D.
Akers, K.
O primeiro comando cria uma matriz que contém nomes e sobrenomes.
O segundo comando formata os nomes de acordo com o exemplo. Ele coloca o sobrenome em primeiro lugar na saída, seguido por uma inicial.
Exemplo 2: Simplificar o formato de uma cadeia de caracteres
$composers = @("Johann Sebastian Bach", "Wolfgang Amadeus Mozart", "Frederic Francois Chopin", "Johannes Brahms")
$composers | Convert-String -Example "first middle last=last, first"
Bach, Johann
Mozart, Wolfgang
Chopin, Frederic
Brahms, Johannes
O primeiro comando cria uma matriz que contém nomes de primeiro, médio e sobrenome. Observe que a última entrada não tem nome do meio.
O segundo comando formata os nomes de acordo com o exemplo. Ele coloca o sobrenome primeiro na saída, seguido pelo nome. Todos os nomes do meio removidos; a entrada sem o nome do meio é tratada corretamente.
Exemplo 3: Gerenciamento de saída quando cadeias de caracteres não correspondem ao exemplo
$composers = @("Johann Sebastian Bach", "Wolfgang Amadeus Mozart", "Frederic Francois Chopin", "Johannes Brahms")
$composers | Convert-String -Example "first middle last=middle, first"
Sebastian, Johann
Amadeus, Wolfgang
Francois, Frederic
O primeiro comando cria uma matriz que contém nomes de primeiro, médio e sobrenome. Observe que a última entrada não tem nome do meio.
O segundo comando formata os nomes de acordo com o exemplo. Ele coloca o nome do meio primeiro na saída, seguido pelo primeiro nome. A última entrada no $Composers é ignorada, pois não corresponde ao padrão de exemplo: ele não tem nome do meio.
Exemplo 4: Cuidado com espaços de beleza
$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."
Wagner, R.
Brahms, J.
O primeiro comando cria uma matriz de nomes e sobrenomes. Observe que o segundo e o quarto itens têm um espaço extra à direita, após o sobrenome.
O segundo comando converte todas as cadeias de caracteres que correspondem ao padrão de exemplo: palavra, espaço, palavra e espaço final à direita, tudo isso antes do sinal de igual. Além disso, observe o espaço à esquerda na saída.
Exemplo 5: formatar informações do processo com vários padrões
$ExamplePatterns = @(
@{before='"Hello","World"'; after='World: Hello'},
@{before='"Hello","1"'; after='1: Hello'},
@{before='"Hello-World","22"'; after='22: Hello-World'},
@{before='"hello world","333"'; after='333: hello world'}
)
$Processes = Get-Process | Select-Object -Property ProcessName, Id | ConvertTo-Csv -NoTypeInformation
$Processes | Convert-String -Example $ExamplePatterns
Id: ProcessName
4368: AGSService
8896: Amazon Music Helper
4420: AppleMobileDeviceService
...
11140: git-bash
0: Idle
...
56: Secure System
...
13028: WmiPrvSE
2724: WUDFHost
2980: WUDFHost
3348: WUDFHost
$ExamplePatterns define diferentes padrões esperados nos dados, por meio de exemplos.
O primeiro padrão, @{before='"Hello","World"'; after='World: Hello'}
, lê da seguinte maneira: esperar cadeias de caracteres em que uma palavra vem entre aspas duplas, depois uma vírgula,e, em seguida, a segunda e a última palavra entre aspas;sem espaços na cadeia de caracteres. Na saída: coloque a segunda palavra primeiro,sem aspas, depois um único espaço e, em seguida, a primeira palavra, sem aspas.
O segundo padrão, @{before='"Hello","1"'; after='1: Hello'}
, lê da seguinte maneira: esperar cadeias de caracteres em que uma palavra vem entre aspas duplas, depois uma vírgula,e, em seguida, um número entre aspas;sem espaços na cadeia de caracteres. Na saída: coloque o número primeiro,sem aspas, depois um único espaço e, em seguida, a palavra, sem aspas.
O terceiro padrão, @{before='"Hello-World","22"'; after='22: Hello-World'}
, lê da seguinte maneira: esperar cadeias de caracteres em que duas palavras com um hífen entre elas são colocadas entreaspas duplas, depois uma vírgula e, em seguida, um número entre aspas;sem espaços entre a vírgula e a terceira aspa dupla.Na saída: coloque o número primeiro, sem aspas, depois um único espaço,e, em seguida, as palavras hifenizadas, sem aspas.
O quarto e último padrão, @{before='"hello world","333"'; after='333: hello world'}
, lê da seguinte maneira: espera cadeias de caracteres em que duas palavras com um espaço entre elas são colocadas entreaspas duplas, depois uma vírgula e, em seguida, um número entre aspas;sem espaços entre a vírgula e a terceira aspa dupla.Na saída: coloque o número primeiro, sem aspas, depois um único espaço,e, em seguida, as palavras com o espaço no meio, sem aspas.
O primeiro comando obtém todos os processos usando o cmdlet Get-Process. O comando os passa para o cmdlet Select-Object, que seleciona o nome do processo e a ID do processo. No final do pipeline, o comando converte a saída em valores separados por vírgulas, sem informações de tipo, usando o cmdlet ConvertTo-Csv. O comando armazena os resultados na variável $Processes. $Processes agora contém nomes de processo e PID.
O segundo comando especifica uma variável de exemplo que altera a ordem dos itens de entrada. O comando encoberta cada cadeia de caracteres em $Processes.
Observação O quarto padrão diz implicitamente que duas ou mais palavras separadas por espaços são correspondentes.
Sem o quarto padrão, somente a primeira palavra da cadeia de caracteres entre aspas duplas é correspondida.
Parâmetros
-Example
Especifica uma lista de exemplos do formato de destino. Especifique pares separados pelo sinal igual (=), com o padrão de origem à esquerda e o padrão de destino à direita, como nos seguintes exemplos:
-Example "Hello World=World, Hello"
-Example "Hello World=World: Hello",'"Hello","1"=1: Hello'
Observação O segundo exemplo usa uma lista de padrões
Como alternativa, especifique uma lista de tabelas de hash que contêm propriedades Before e After.
-Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}
Cuidado evitar o uso de espaços ao redor do sinal de igual, pois são tratados como parte do padrão.
Tipo: | List<T>[PSObject] |
Aliases: | E |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | False |
Aceitar a entrada de pipeline: | False |
Aceitar caracteres curinga: | False |
-InputObject
Especifica uma cadeia de caracteres a ser formatada.
Tipo: | String |
Cargo: | Named |
Valor padrão: | None |
Obrigatório: | True |
Aceitar a entrada de pipeline: | True |
Aceitar caracteres curinga: | False |
Entradas
String
Você pode redirecionar cadeias de caracteres para este cmdlet.
Saídas
String
Esse cmdlet retorna uma cadeia de caracteres.