Como extrair uma substring do PowerShell de uma string
No PowerShell, uma substring é parte de uma string. Você pode criar uma substring do PowerShell a partir de uma string usando o subestr. g, dividir métodos.
Um exemplo de string é subdomínio.domínio.com . As substrings de subdomínio.domínio.com são subdomínio , domínio , e com .
Nesta Zona S, ensinarei tudo o que você precisa aprender sobre a Substring do PowerShell.
Especificamente, você aprenderá como extrair substrings de strings usando o Substring e Dividir Métodos . Além disso, você aprenderá sobre o PowerShell Dividir Operador .
Por fim, você aprenderá como quebrar uma string do PowerShell em substrings e usar o Substring Método para extrair as substrings.
Procurar tópicos de postagem
- Como extrair uma substring do PowerShell com o método de substring
- Sintaxe do método de substring do PowerShell
- Como identificar uma posição de substring do PowerShell com os métodos IndexOf e LastIndexOf
- Como extrair uma substring do PowerShell à esquerda de uma string
- Como extrair uma substring do PowerShell antes e depois de um caractere especificado
- Como extrair uma substring do PowerShell entre 2 caracteres
- Como extrair uma substring do PowerShell com o método Split
- Sintaxe do método de divisão do PowerShell
- Como usar vários delimitadores com divisão do PowerShell
- Como extrair uma substring do PowerShell com o método Split
- Como extrair o último elemento de uma substring com a divisão do PowerShell
- Como dividir a string e remover entradas vazias com a divisão do PowerShell
- Referências e Leituras Adicionais
Como extrair uma substring do PowerShell com Substring Método
Nesta primeira seção, você aprenderá como extrair substrings de uma string com o Substring Método .
Estou ciente de que usar substrings como parte de uma string na mesma frase que o Substring Método pode ser confuso. Para fins de clareza, substrings como parte de uma string refere-se à extração de parte de uma string. Por exemplo, extraindo a substring, usa da string usa.itechguides.com. Ao contrário, o Substring Método refere-se ao PowerShell Substring Método usado para realizar a tarefa.
Vou começar esta seção explicando a sintaxe do Substring Método.
Sintaxe do PowerShell Substring Método
A sintaxe do Substring Método:
|_+_|Para garantir que você entenda as partes restantes desta seção, é extremamente importante que você preste atenção à minha explicação dessas sintaxes.
Como você pode ver na sintaxe, quando você especifica o Substring Método de uma string, você insere startIndex E comprimento .
O int na sintaxe indica que o startIndex e comprimento são números (inteiros)O startIndex é o primeiro caractere da substring que você deseja extrair (contando da esquerda para a direita e começando pela adição de 1 ao resultado da Índice de – exceto para o primeiro caractere).
Além disso, o comprimento é o número de caracteres que você deseja extrair, começando em 1 e contando a partir do primeiro caractere da substring que deseja extrair.
Na próxima seção, explicarei a Índice de Método e como usá-lo para determinar o startIndex e comprimento . Se você ainda está confuso com minha tentativa de explicar esse conceito bastante complexo de startIndex e comprimento , não desanime – ficará mais claro à medida que você progride no guia.Para ajudá-lo a entender esse conceito, a próxima seção discutirá Índice de e LastIndexOf Métodos.
Como identificar uma posição de substring do PowerShell com Índice de E LastIndexOf Métodos
Quando expliquei a sintaxe do Substring Método, eu disse que o startIndex do PowerShell Substring Método é o primeiro caractere da substring que você deseja extrair (determinado pela adição de 1 ao resultado da Índice de valor para essa substring).
Nesta seção, usarei o Índice de e LastIndexOf Métodos de uma string do PowerShell para mostrar como o PowerShell determina as posições dos caracteres de substring em uma string.
Para ilustrar, vamos examinar a posição de índice da primeira letra u em usa.itechguides.com – executando o comando abaixo…
|_+_| O Índice de O método encontra a primeira ocorrência de uma string (contando da esquerda para a direita e começando do zero)O resultado é zero (0)…
Por que isso é importante? Que bom que você perguntou!
Você se lembra do startIndex E comprimento na sintaxe do PowerShell Substring Método ?
|_+_|Se a posição de índice da letra u em usa.itechguides.com é zero (o), de acordo com o Índice de Método – significa que se desejamos extrair caracteres a partir da letra u, nosso startIndex será 0 – já que é o primeiro caractere da string.
A exceção à regra de adicionar 1 ao resultado de Índice de comando para determinar o startIndex é o primeiro caractere da string. O startIndex do primeiro caractere de uma string sempre será zero (0).Que incrível!
Agora, vamos adicionar outra camada a isso. E se quisermos encontrar a última ocorrência de um caractere em uma string?
Em vez de usar, o Índice de Método , usaremos o LastIndexOf Método . Este comando determinará a localização da última ocorrência da letra u na string, usa.itechguides.com :
|_+_| LastIndexOf encontra a última ocorrência da string (contando da esquerda para a direita e começando do zero)O resultado é 10…
Ter esse conhecimento de como o PowerShell determina a posição dos caracteres de substring em uma string ajudará você a manipular as strings do PowerShell – independentemente da complexidade.Como extrair uma substring do PowerShell à esquerda de uma string
Nesta seção, você aprenderá como extrair uma substring da esquerda de uma string. Vou mostrar um exemplo que pode ser usado em ambientes de produção.
Supondo que você gerencie um domínio do Active Directory com vários subdomínios. Os subdomínios são nomeados usando um nome de país de 3 letras. Exemplos de seus subdomínios são USA.itechguides.com , jpn.itechguides.com .
Além disso, vamos supor que você esteja escrevendo um script do PowerShell que exige que você execute comandos condicionais com base no nome do subdomínio do país – dentro do seu domínio do Active Directory.
Nesta seção, ensinarei como extrair o subdomínio USOS , a partir de USA.itechguides.com .
Vamos começar salvando o subdomínio, USOS itechguides. com em uma variável chamada subdomínio .
|_+_|Siga os passos abaixo para extrair USOS , a partir de USA.itechguides.com :
- Insira um ponto (.) ao lado da variável que o subdomínio está salvo, seguido da palavra Substring . Por fim, adicione um colchete de abertura…
- A seguir, insira o startIndex seguido de uma vírgula (,). Antes de fazer isso, lembre-se de que queremos extrair os EUA. Neste caso, como queremos extrair do primeiro caractere, nosso startIndex é zero (0). O comando agora ficará assim:
- Por fim, insira o comprimento , seguido pelo colchete de fechamento, ). Neste exemplo, o comprimento (contando a partir do número ao lado do startIndex ) é 3 – o startIndex é 0, somando 1 a 0 dá 1.
Se contar de U – USA tem 3 caracteres – fazendo o comprimento um total de 3 caracteres.
Aqui está o roteiro final…
Para ver o comando em ação, execute o comando abaixo, primeiro…
|_+_|Isso salva a string, USA.itechguides.com na variável do PowerShell, $subdomínio . Em seguida, execute o comando que extrai a substring USA da string, USA.itechguides.com .
|_+_|Como esperado, o resultado é EUA!
E se você quiser extrair o domínio pai, itechguides. com a partir de USA.itechguides.com ? Qual será o nosso startIndex e comprimento ?
Para determinar o seu startIndex , execute primeiro o Índice de comando, usando o primeiro ponto (.) como entrada.
|_+_|O resultado é 3…
De acordo com minha explicação anterior, para determinar a startIndex do resultado da Índice de comando, adicione 1. Se adicionarmos 1 a 3, nosso startIndex é 4.
A seguir, para determinar a comprimento , comece a contar a partir de 1, começando pelo primeiro caractere da string que deseja extrair. Em seguida, pare no último caractere que deseja extrair da string.
Lembre-se que queremos extrair itechguides. com a partir de USA.itechguides.com ?
Contando a partir do primeiro caractere da string que queremos extrair (i), começando em 1, o comprimento é 15 ( itechguides. com é de 15 caracteres).
Com base nesses valores, o comando que extrai a substring do PowerShell, itechguides. com a partir de USA.itechguides.com é…
|_+_|Aqui está o resultado, itechguides. com !
Finalmente, para ajudar a simplificar este conceito bastante confuso de startIndex , Índice de , e comprimento , segue um resumo:
- O startIndex do primeiro caractere de uma string do PowerShell sempre será zero (0)
- Para determinar o startIndex de uma substring, adicione 1 ao Índice de resultado do comando
- finalmente, o comprimento da substring do PowerShell que você deseja extrair é o número total (começando em 1) e contando do primeiro caractere da substring até o último caractere da substring.
Como extrair uma substring do PowerShell antes e depois de um caractere especificado
Nesta seção, ensinarei como extrair a substring do PowerShell antes e depois de um caractere especificado.
Para ilustrar isso, vamos voltar ao nosso subdomínio…
|_+_|Digamos que eu queira extrair a substring antes do anúncio após o primeiro ponto (.). Efetivamente, quero extrair USA (a substring antes do caractere especificado).
Além disso, quero extrair itechguides.com (a substring após o caractere especificado).
O primeiro passo é usar o Índice de Método para determinar a posição do caractere de referência. O comando abaixo salva a posição do caractere de referência em uma variável chamada refcaractere .
|_+_|A seguir, use o substring Método para extrair a substring antes do caractere de referência.
|_+_|Aqui está o resultado…
Por fim, use o seguinte PowerShell substring Método para extrair a substring após o caractere de referência
|_+_|Como esperado, o resultado extrai a substring após o período, que é itechguides. com !
Como extrair uma substring do PowerShell entre 2 caracteres
Nesta seção, ensinarei como extrair guias técnicos a partir de USA.itechguides.com . Neste exemplo, quero extrair uma substring do PowerShell entre 2 caracteres.
Os dois caracteres neste exemplo são o primeiro e o último ponto (.). O script requer 3 comandos.
No primeiro comando, usamos o Índice de Método para determinar a posição do primeiro caractere de referência (.). Em seguida, salve o resultado em uma variável chamada primeira referência .
|_+_|A seguir, usamos o LastIndexOf Método para determinar a localização do último caractere de referência. O resultado é salvo em lastref variável.
|_+_|Por fim, para extrair a substring do PowerShell, guias técnicos entre 2 caracteres (os pontos), execute o comando abaixo…
|_+_|No comando, adicionamos 1 ao resultado do Índice de comando. Neste exemplo, 3, dando um total de 4.
Isso faz com que nosso startIndex Quatro.
Além disso, no PowerShell substring Método , usamos o comprimento Como $lastref-4 .
De nossos comandos anteriores, $lastref é a variável que salvamos o resultado da LastIndexOf comando.
O resultado é 15. Remover 4 de 15 torna nosso comprimento onze.
O resultado do último comando é guias técnicos !
Como extrair uma substring do PowerShell com o método Split
Na primeira seção deste guia, discuti como extrair uma substring do PowerShell com o Substring Método . Nesta seção, você aprenderá como extrair a substring do PowerShell com o Dividir Método .
Como de costume, iniciarei esta seção com a sintaxe do PowerShell Dividir Método .
Sintaxe do PowerShell Dividir Método
A sintaxe do Dividir O método para extrair uma substring do PowerShell é:
|_+_|O delimitador é qualquer caractere que você deseja usar para dividir a string do PowerShell em substrings individuais.
A posição da substring colocada no colchete [] é usada para selecionar uma substring específica que você deseja retornar das strings.
Como usar vários delimitadores com divisão do PowerShell
Como visto na sintaxe do PowerShell Dividir Método , permite apenas um delimitador. No entanto, se você deseja dividir substrings de uma string com vários delimitadores, você deve usar o PowerShell Dividir Operador , em vez de.
A sintaxe do PowerShell Dividir Operador é…
|_+_|Se você quiser usar vários delimitadores, primeiro salve a string em uma variável – neste exemplo, $string. Em seguida, use a variável de pipeline automática $_ para adicionar vários delimitadores, conforme mostrado abaixo:
|_+_|Por exemplo, podemos dividir isso Nome Distinto do Active Directory , OU=LON,OU=DEV,DC=ITECHGUIDES,DC=COM – usando os dois delimitadores, = e ,.
Primeiro, vamos salvar o DN em uma variável chamada $ADDN…
|_+_|Então, para dividir a string usando os delimitadores =, e , use o comando abaixo:
|_+_|Bingo, o último comando dividiu a string em substrings individuais do PowerShell!
Na próxima seção, você aprenderá como retornar uma das substings.
Como extrair uma substring do PowerShell com o Dividir Método
Na última seção, você viu como dividir uma string em substrings individuais usando o PowerShell Dividir Operador . Aqui está o último comando…
|_+_|O comando divide a string em suas substrings individuais.
Quando discuti a sintaxe do Dividir O método para extrair uma substring do PowerShell é incluir um colchete [] que contém a posição da substring que você deseja retornar:
|_+_|O PowerShell numera as posições das substrings de zero (0). Então, voltando ao exemplo de DN do Active Directory – veja a captura de tela abaixo – a primeira substring OU está na posição zero (0), LON está na posição 1 e assim por diante.
Portanto, para retornar LON, colocaremos o último comando no colchete [1]. Neste caso, 1 é a posição da substring que queremos retornar.
Aqui está o comando…
|_+_|Segue o resultado do comando:
Alternativamente, você pode salvar o resultado do comando com o Dividir Operador em uma variável.
|_+_|Em seguida, retorne qualquer uma das substrings colocando a posição da substring no colchete []. Por exemplo, para retornar LON, usaremos o comando abaixo:
|_+_|O resultado é o mesmo do comando anterior sem a variável…
Como extrair o último elemento de uma substring com a divisão do PowerShell
Se você quiser retornar o primeiro ou o último elemento (caractere) de uma substring, você pode usar o mesmo princípio do nosso último exemplo.
melhor rom personalizada para nexus 6p
Enquanto pesquisava sobre este assunto, me deparei com este stackoverflow.com fio. O usuário tem uma string mostrada abaixo:
|_+_| A pergunta do StackOverflow explica que a string, 0.3.1-15-g3b885c5 meios Tag-CommitDistance-CommitId . Então, 0,3,1 é o marcação , 15 é o CommitDistance , e g3b885c5 é o CommitId .A questão é retornar a primeira parte da string, 0.3.1 – segundo esse usuário, chamada marcação . Além disso, o usuário deseja retornar a última parte da string, g3b885c5, chamada de CommitId .
O primeiro passo é salvar a string em uma variável (isso é opcional, mas geralmente facilita a vida).
|_+_|Em seguida, utilize o Dividir Método para dividir a string em substrings do PowerShell usando - como delimitador. Mais uma vez, para facilitar a explicação, vou salvar o resultado em outra variável…
|_+_|Para ver o resultado do último comando, execute o $TccSubstrings variável sozinho.
|_+_|Aqui está…
Com base em nossos exemplos anteriores nesta seção, para extrair o Marcação (a primeira substring), use o comando abaixo:
|_+_|Por fim, para extrair o CommitId (a última substring), use o comando abaixo…
|_+_|E aqui estão os resultados…
Observe que você também pode resolver esse problema executando um único comando…
|_+_|E aqui está o mesmo resultado…
Não há mágica nisso, tudo o que fiz foi combinar todos os comandos em um comando!
Como dividir a string e remover entradas vazias com a divisão do PowerShell
Neste exemplo final, quero mostrar como dividir uma string com espaços vazios (ou entradas) em substrings. Em seguida, remova os espaços vazios no resultado final.
Noutro stackoverflow.com thread, um usuário postou esta string salva em uma variável:
|_+_|O usuário então usou o Dividir Método para dividir a string em substrings individuais.
|_+_|Segundo o usuário (e isso é óbvio), o problema é que o resultado tem espaços.
A pessoa que postou esta pergunta queria que os espaços fossem removidos das substrings. Existem várias soluções, mas uma maneira rápida é canalizar a saída do comando split para Onde-objeto .
Isso é cortesia de Ryanant . Aqui está o comando…
|_+_|E aqui está o resultado…
É isso, nosso artigo atualizado de substring do PowerShell! Espero que você tenha achado útil.
Se você achou este artigo útil, por favor vote sim para a pergunta Foi este post útil abaixo.
Alternativamente, você pode fazer uma pergunta, deixar um comentário ou fornecer mais feedback com o formulário Deixe uma resposta encontrado no final desta página.
Por fim, para obter mais zonas S de tecnologia do PowerShell, visite nossa página de guia de instruções do Windows PowerShell. Você também pode achar nossa página Work from Home muito útil.


