Como Verificar o Início de uma Cadeia Usando PowerShell

  1. Usando o operador lógico -like para verificar o início de uma string no PowerShell
  2. Usando o operador lógico -clike para verificar o início de uma string no PowerShell
  3. Usando a função StartsWith() para verificar o início de uma string no PowerShell
  4. Comparação com Substring para verificar o início de uma string no PowerShell
  5. Conclusão
Como Verificar o Início de uma Cadeia Usando PowerShell

Pode haver casos em que encontramos um caso de uso que pode exigir funcionalidade para verificar se uma variável de string começa com um caractere ou uma string. Verificar se uma string começa com um caractere ou uma string específica é uma prática comum ao fazer scripts e também é razoavelmente fácil quando escrito em Windows PowerShell.

Este artigo demonstrará como verificar o início de uma variável de string usando diferentes métodos no Windows PowerShell.

Usando o operador lógico -like para verificar o início de uma string no PowerShell

No PowerShell, o operador lógico -Like é uma ferramenta poderosa para correspondência de padrões. Quando utilizado para verificar o início de uma string, permite comparações flexíveis com base em curingas.

Por padrão, o operador -Like ignora a declaração de sensibilidade a maiúsculas e minúsculas. No entanto, se usarmos operadores lógicos, deve ser acompanhado por um curinga asterisco (*).

Código:

$strVal = 'Hello World'
if ($strVal -like 'hello*') {
    Write-Host "Your string starts with hello."
}
else {
    Write-Host "Your string does not start with hello."
}

Saída:

Your string starts with hello.

No código, inicializamos uma variável de string, $strVal = 'Hello World'. Em seguida, usamos o operador -like para verificar se a string ($strVal ) começa com o prefixo 'hello'.

O operador -like permite a correspondência de padrões usando curingas, e neste caso, o asterisco (*) representa zero ou mais caracteres. A declaração condicional avalia se a string corresponde ao padrão 'hello*'.

Neste caso, a condição é verdadeira e a saída é Sua string começa com hello.

Usando o operador lógico -clike para verificar o início de uma string no PowerShell

O operador -clike no PowerShell é usado para realizar uma comparação de string sensível a maiúsculas e minúsculas. Ele verifica se uma string corresponde a um padrão especificado, semelhante ao operador -like, mas é sensível a maiúsculas e minúsculas.

Isso significa que o operador -clike retornará True somente se o caso dos caracteres na string corresponder exatamente ao caso dos caracteres no padrão. Podemos usar o operador -cLike para realizar uma comparação sensível a maiúsculas e minúsculas.

Código:

$strVal = 'Hello World!'
if ($strVal -clike 'h*') {
    Write-Host "Your string starts with lowercase h."
}
else {
    Write-Host "Your string starts with uppercase H."
}

Saída:

Your string starts with uppercase H.

Neste código, inicializamos uma variável de string, $strVal, com o valor 'Hello World!'. Usamos o operador -clike, que é utilizado para comparação de string sensível a maiúsculas e minúsculas, para verificar se a string começa com a letra minúscula 'h'.

A declaração condicional avalia se a string corresponde ao padrão 'h*' de forma sensível a maiúsculas e minúsculas. Como a condição é falsa, indicando que a string começa com um 'H' maiúsculo, a saída é Sua string começa com H maiúsculo.

Lembre-se, o operador -clike é sensível a maiúsculas e minúsculas, portanto, não corresponderá a strings se o caso dos caracteres não corresponder exatamente. Se quisermos realizar uma comparação sem distinção entre maiúsculas e minúsculas, podemos usar o operador -like em vez disso.

Usando a função StartsWith() para verificar o início de uma string no PowerShell

Também podemos usar a função de extensão de string do .NET chamada StartsWith() para verificar se uma string começa com um conjunto de caracteres.

A função StartsWith() no PowerShell é um método para verificar se uma string começa com um prefixo especificado. A função StartsWith() é um método embutido para strings no PowerShell que retorna um valor Booleano indicando se a string fornecida começa com a substring especificada.

Código:

$strVal = 'Hello World!'
if ($strVal.StartsWith('Hello')) {
    Write-Host 'Your string starts with hello.'
}
else {
    Write-Host 'Your string does not start with hello.'
}

Saída:

Your string starts with hello.

No código acima, verificamos se a variável de string $strVal começa com 'Hello' usando o método StartsWith(). Como a condição é verdadeira, a saída é Sua string começa com hello.

A função StartsWith também aceita outro argumento que podemos usar para verificar caracteres sensíveis a maiúsculas e minúsculas. Esse argumento é CurrentCultureIgnoreCase.

Usaremos o seguinte método se quisermos realizar uma comparação sensível a maiúsculas e minúsculas.

Código:

$strVal = 'Hello world'
if ($strVal.StartsWith('hello', 'CurrentCultureIgnoreCase')) {
    Write-Host 'True'
}
else {
    Write-Host 'False'
}

Saída:

True

Neste código, verificamos se a variável de string $strVal começa com 'hello' de forma insensível a maiúsculas e minúsculas usando o método StartsWith() com o parâmetro 'CurrentCultureIgnoreCase'. Como a condição é verdadeira, a saída é True.

Comparação com Substring para verificar o início de uma string no PowerShell

Nesta abordagem, a função Substring() é empregada para comparar um prefixo especificado com a parte inicial de uma string dada. Essa comparação ajuda a determinar se a string começa com a sequência de caracteres pré-definida.

No PowerShell, o método Substring permite a extração de uma parte de uma string com base no índice inicial e no comprimento especificados. Usando este método, podemos adquirir uma substring da string original e depois compará-la com um prefixo desejado para verificar se a string começa com essa sequência específica.

Sintaxe básica:

$substringToCompare = $strVal.Substring(0, $prefix.Length)

Parâmetros:

  • $strVal - Esta é a variável que contém a string original da qual queremos extrair uma substring.
  • 0 - O 0 é o índice inicial.
  • $prefix.Length - Este é o comprimento da substring a ser extraída. No nosso exemplo, é o comprimento do prefixo que queremos verificar.
  • $substringToCompare - Esta é uma variável que armazena o resultado da operação Substring. Ela conterá a substring extraída da string original.

A sintaxe acima essencialmente cria uma substring da string original, começando do início, com um comprimento igual ao comprimento do prefixo especificado.

Código:

$strVal = 'Hello World!'
$prefix = 'Hello'

if ($strVal.Substring(0, $prefix.Length) -eq $prefix) {
    Write-Output "String starts with $prefix"
}
else {
    Write-Output "String does not start with $prefix"
}

Saída:

String starts with Hello

Neste código, temos uma variável de string, $strVal = 'Hello World!' e um prefixo, $prefix = 'Hello'. Usamos o método Substring() para extrair uma parte da string original começando do índice 0 com um comprimento idêntico ao comprimento do prefixo.

O script então compara esta substring extraída com o prefixo especificado usando o operador -eq. Como a condição é verdadeira, indicando que a string começa com 'Hello', a saída é String começa com Hello.

Conclusão

Em conclusão, este artigo demonstrou vários métodos para verificar o início de uma variável de string no Windows PowerShell. Exploramos o uso do operador lógico -like para correspondência de padrões, mostrando sua flexibilidade com curingas.

Além disso, nos aprofundamos no operador lógico -clike para comparações sensíveis a maiúsculas e minúsculas. Além disso, cobrimos a função StartsWith(), utilizando verificações tanto sensíveis quanto insensíveis a maiúsculas e minúsculas para determinar se a string começa com um prefixo especificado.

Finalmente, examinamos a função Substring() como uma abordagem alternativa, ilustrando sua aplicação na comparação de uma substring com uma sequência pré-definida e retornando resultados com base na avaliação. Esses métodos oferecem versatilidade para diferentes casos de uso, aprimorando as capacidades de comparação de strings em scripts PowerShell.

Está gostando dos nossos tutoriais? Inscreva-se no DelftStack no YouTube para nos apoiar na criação de mais vídeos tutoriais de alta qualidade. Inscrever-se
Marion Paul Kenneth Mendoza avatar Marion Paul Kenneth Mendoza avatar

Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.

LinkedIn

Artigo relacionado - PowerShell String