Extraiga una subcadena de PowerShell de una cadena
-
Extraiga una subcadena de PowerShell con el método
Substring()
- Extraiga una subcadena de PowerShell a la izquierda de una cadena
- Extraiga una subcadena de PowerShell antes y después de un carácter específico
- Extraiga una subcadena de PowerShell entre dos caracteres
Este artículo ilustra cómo podemos extraer una subcadena de una cadena en PowerShell. Una subcadena es simplemente una parte de una cadena.
Podemos crear una subcadena en PowerShell usando los métodos Substring()
y split()
. Por ejemplo, si tenemos la cadena Delftstack.com
, Delftstack
es una subcadena y com
es otra.
Este artículo discutirá el método Substring()
.
Extraiga una subcadena de PowerShell con el método Substring()
Comencemos mirando la sintaxis del método Substring()
.
string.Substring(int startIndex, int length)
El int
en la sintaxis marca el índice de inicio
y la longitud
como números de índice. El startIndex
indica el primer carácter de la subcadena que queremos extraer, mientras que longitud
es el número de caracteres que queremos extraer de una cadena.
Usamos el método IndexOf
para determinar el índice de inicio
y la longitud
de una subcadena.
Determinamos el índice de inicio
agregando 1
al valor resultante del Índice de
la subcadena. Veamos un ejemplo.
Suponiendo que ned.delftstack.com
sea nuestra cadena, ¿cuál es la posición del índice de la primera letra n
en nuestra cadena? Podemos determinar la posición ejecutando el siguiente comando:
"ned.delftstack.com".IndexOf('n')
El resultado es 0
. Esto se debe a que el método IndexOf
busca la primera aparición de una cadena de izquierda a derecha y siempre comienza desde 0.
Por tanto, si deseamos extraer una subcadena a partir de la letra n
, nuestro índice de inicio
será 0.
También podemos usar LastIndexOf
para encontrar la ubicación de la última aparición de una cadena. Por ejemplo, la última aparición de la letra d
sería:
"ned.delftstack.com".LastIndexOf('d')
Esta información básica le permitirá manipular cadenas en PowerShell.
Extraiga una subcadena de PowerShell a la izquierda de una cadena
Pongamos la información anterior a trabajar.
Supongamos que queremos extraer la subcadena ned
de ned.delftstack.com
. ¿Cómo lo haríamos?
Comenzaremos guardando nuestra cadena en una variable llamada nuestracadena
.
$ourstrng = "ned.delftstack.com"
De la sintaxis del Método Substring()
, nuestro comando será:
$ourstrng.Substring(0,3)
Esto devolverá ned
ya que nuestro startIndex
es 0
y length
tiene 3 caracteres. ¿Qué pasa si nuestro objetivo es extraer delftstack
de nuestra cadena?
El primer paso es determinar el índice de inicio
para nuestra subcadena. En este caso, usaremos el primer punto, que es el separador.
$ourstrng.IndexOf(".")
El resultado será 3
. Pero si puede recordar, agregamos 1
al resultado del primer carácter de la cadena; por lo tanto, nuestro índice de inicio
será 4
.
La longitud será el número de caracteres que queremos que tenga la subcadena; contaremos desde 1. La subcadena delftstack
tiene 10
caracteres.
$ourstrng.Substring(4,10)
Esto devolverá delftstack
.
Extraiga una subcadena de PowerShell antes y después de un carácter específico
Digamos que queremos extraer tanto ned
como delftstack.com
de nuestra cadena. ¿Cómo lo haríamos?
Primero, necesitamos determinar la posición de nuestro separador, el primer .
. El siguiente comando guardará el separador en una variable llamada $sepchar
.
$sepchar = $ourstrng.IndexOf(".")
Para extraer nuestras subcadenas, ejecutaremos el siguiente comando:
$ourstrng.Substring(0,$sepchar)
Esto extraerá la primera parte, que es ned
. Para la otra subcadena, ejecutaremos:
$ourstrng.Substring($sepchar+1)
Esto devolverá deftstack.com
.
Extraiga una subcadena de PowerShell entre dos caracteres
Si nuestra cadena es ned.delftstack.com
, nuestra subcadena será delftstack
ya que se encuentra entre nuestro primer y segundo período. Tal script requerirá tres comandos.
El primer comando determinará la posición de nuestro primer punto (.)
y lo guardará en la variable firstsep
.
$firstsep = $ourstrng.IndexOf(".")
El segundo comando determinará la segunda posición de nuestro período usando el método LastIndexOf
y lo guardará en la variable lastrep
.
$lastrep = $ourstrng.LastIndexOf(".")
El último comando extraerá la subcadena delftstack
de nuestra cadena.
$ourstrng.Substring($firstsep+1,$lastrep-4)
En conclusión, puede extraer una subcadena en una cadena antes, después y entre los separadores de PowerShell. El método Substring()
es útil, como hemos visto anteriormente.
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