Como Extrair uma Substring do PowerShell de uma String

  1. Extraia uma Substring do PowerShell Com o Método Substring()
  2. Extraia uma Substring do PowerShell à Esquerda de uma String
  3. Extraia uma Substring do PowerShell Antes e Depois de um Caractere Específico
  4. Extraia uma Substring do PowerShell Entre Dois Caracteres
Como Extrair uma Substring do PowerShell de uma String

Este artigo ilustra como podemos extrair uma substring de uma string no PowerShell. Uma substring é simplesmente uma parte de uma string.

Podemos criar uma substring no PowerShell usando os métodos Substring() e split(). Por exemplo, se temos a string Delftstack.com, Delftstack é uma substring e com é outra.

Este artigo discutirá o método Substring().

Extraia uma Substring do PowerShell Com o Método Substring()

Vamos começar analisando a sintaxe do método Substring().

string.Substring(int startIndex, int length)

O int na sintaxe marca o startIndex e length como números de índice. O startIndex indica o primeiro caractere da substring que queremos extrair, enquanto length é o número de caracteres que queremos extrair de uma string.

Usamos o método IndexOf para determinar o startIndex e length de uma substring.

Determinamos o startIndex adicionando 1 ao valor resultante do IndexOf da substring. Vamos olhar um exemplo.

Assumindo que ned.delftstack.com é nossa string, qual é a posição do índice da primeira letra n em nossa string? Podemos determinar a posição executando o comando abaixo:

"ned.delftstack.com".IndexOf('n')

O resultado é 0. Isso porque o método IndexOf procura a primeira ocorrência de uma string da esquerda para a direita e sempre começa de 0.

Portanto, se desejarmos extrair uma substring começando pela letra n, nosso startIndex será 0.

Podemos também usar LastIndexOf para encontrar a localização da última ocorrência de uma string. Por exemplo, a última ocorrência da letra d seria:

"ned.delftstack.com".LastIndexOf('d')

Essas informações básicas permitirão que você manipule strings no PowerShell.

Extraia uma Substring do PowerShell à Esquerda de uma String

Vamos colocar as informações acima em prática.

Suponha que queremos extrair a substring ned de ned.delftstack.com. Como faríamos isso?

Começaremos salvando nossa string em uma variável chamada ourstrng.

$ourstrng = "ned.delftstack.com"

A partir da sintaxe do Método Substring(), nosso comando será:

$ourstrng.Substring(0, 3)

Isso retornará ned, uma vez que nosso startIndex é 0 e length são 3 caracteres. E se nosso objetivo fosse extrair delftstack de nossa string?

O primeiro passo é determinar o startIndex para nossa substring. Neste caso, usaremos o primeiro ponto, que é o separador.

$ourstrng.IndexOf(".")

O resultado será 3. Mas se você puder se lembrar, adicionamos 1 ao resultado para o primeiro caractere da string; portanto, nosso startIndex será 4.

O comprimento será o número de caracteres que queremos que a substring tenha; contamos a partir de 1. A substring delftstack tem 10 caracteres.

$ourstrng.Substring(4, 10)

Isso retornará delftstack.

Extraia uma Substring do PowerShell Antes e Depois de um Caractere Específico

Vamos supor que queremos extrair tanto ned quanto delftstack.com de nossa string. Como faríamos isso?

Primeiro, precisamos determinar a posição de nosso separador, o primeiro .. O comando abaixo salvará o separador em uma variável chamada $sepchar.

$sepchar = $ourstrng.IndexOf(".")

Para extrair nossas substrings, executaremos o comando abaixo:

$ourstrng.Substring(0, $sepchar)

Isso extrairá a primeira parte, que é ned. Para a outra substring, executaremos:

$ourstrng.Substring($sepchar + 1)

Isso retornará deftstack.com.

Extraia uma Substring do PowerShell Entre Dois Caracteres

Se nossa string é ned.delftstack.com, nossa substring será delftstack, uma vez que está entre nossos primeiros e segundos pontos. Tal script exigirá três comandos.

O primeiro comando determinará a posição de nosso primeiro ponto (.) e o salvará na variável firstsep.

$firstsep = $ourstrng.IndexOf(".")

O segundo comando determinará a segunda posição de nosso ponto usando o método LastIndexOf e o salvará na variável lastrep.

$lastrep = $ourstrng.LastIndexOf(".")

O último comando extrairá a substring delftstack de nossa string.

$ourstrng.Substring($firstsep + 1, $lastrep - 4)

Em conclusão, você pode extrair uma substring em uma string antes, depois e entre separadores do PowerShell. O Método Substring() é útil, como vimos acima.

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
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

Artigo relacionado - PowerShell String