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

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
- O0
é 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.
Marion specializes in anything Microsoft-related and always tries to work and apply code in an IT infrastructure.
LinkedInArtigo relacionado - PowerShell String
- Array de Strings em PowerShell
- Como Converter um Objeto de Array em uma String no PowerShell
- Como Converter uma String Segura em Texto Simples no PowerShell
- Como Encontrar a Posição de uma Substring no PowerShell
- Como Escapar Aspas Simples e Aspas Duplas no PowerShell
- Como Extrair uma Substring do PowerShell de uma String