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

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.
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