Cadena dividida de PowerShell | Varios ejemplos de cadena dividida de PowerShell
Introducción a la cadena dividida de PowerShell
PowerShell usa la función Split() para dividir una cadena en varias subcadenas. La función utiliza los delimitadores especificados para dividir la cadena en subcadenas. El carácter predeterminado utilizado para dividir la cadena es el espacio en blanco. Tres tipos de elementos están asociados con la función de división. Son el delimitador, el número máximo de subcadenas y opciones relacionadas con el delimitador, ya sea SimpleMatch o Multiline.
Delimitador: El delimitador predeterminado es el espacio en blanco. También se pueden utilizar otros delimitadores como patrones, tabulaciones y retroceso.
Número máximo de subcadenas: De forma predeterminada, la función devuelve todas las subcadenas posibles. También podemos limitarlos usando este elemento.
Sintaxis:
.Split(strSeparator [, MaxSubstrings] [, Options])
String -Split strSeparator [, MaxSubstrings] [, Options]
String -Split {scriptblock} [, MaxSubstrings]
-Split String
Parámetros:
1. -String[] o String: indica las cadenas que se dividirán de la entrada real. También se pueden especificar varias cadenas.
2. -Delimitador: Esto denota el carácter que se utiliza para identificar el final de una subcadena. El delimitador predeterminado es un espacio en blanco que incluye tabulación y un carácter de nueva línea. El carácter delimitador se omite por defecto en todas las subcadenas; para incluirlas debe estar entre paréntesis.
3. -Max-SubStrings: Denota el número de veces que se debe dividir la subcadena de entrada, es decir, la cantidad de subcadenas que se deben producir. De forma predeterminada, se generan todas las subcadenas posibles. Si las subcadenas son mayores que el número especificado, las subcadenas sobrantes se agregan a la subcadena final. Se permiten valores no negativos, cero devuelve todas las subcadenas.
4. -ScriptBlock: Denota las reglas para el delimitador. Está encerrado entre llaves y debe evaluarse como verdadero o falso.
5. -Opciones: Línea única identifica solo el inicio y el final de las cadenas, Multilínea identifica tanto el inicio como el final de las líneas, así como las cadenas.
La sintaxis de las opciones se encuentra a continuación y solo se puede usar cuando se usa el parámetro Max-SubStrings.
"SimpleMatch [,IgnoreCase]"
"[RegexMatch] [,IgnoreCase] [,CultureInvariant]
[,IgnorePatternWhitespace] [,ExplicitCapture]
[,Singleline | ,Multiline]"Las posibles opciones de Regex distintas de SingleLine y MultiLine son las siguientes:
- RegexMatch: esta es la opción predeterminada. Utiliza una expresión regular para evaluar el delimitador.
- IgnoreCase: No considera el caso del delimitador
- CultureInvariant: las diferencias culturales en el idioma se ignoran al evaluar el delimitador.
Ejemplos de cadena dividida de PowerShell
A continuación se muestran ejemplos de cadena dividida de PowerShell:
Ejemplo #1
Entrada:
Write-Host "generating substring using split method"
$teststring="my name is vignesh- am from chennai"
Write-Host "splitting using - character"
$teststring -split "-"
$teststring="domainname\username"
Write-Host "Splitting using \ character"
$teststring -split "\\"
Write-Host "generating substring using space"
$string="string1 string2 strin3"
$string.Split("")
Write-Host "splitting using multiple separators"
$string="domain\systems-test"
$string.Split("\\").Split("-")
Salida:
Ejemplo #2
Entrada:
Write-Host "Welcome to the Split string demo"
Write-Host "Splitting using white space"
$string="My name is vignesh Krishnakumar"
$string.Split("")
Write-Host "Splitting the string using single delimiter"
$teststring="there was, a man, 100 years ago, who used to, kill thousands of people, on a regualr basis, for no reason"
write-host "The input is" $teststring
Write-Host "The above input will be split using , as below"
$teststring.Split(",")
Write-Host "splitting the string using multiple delimiters"
$teststring1="there was, a man, whose name was king rama. he was a good person. his wife, name was sita."
Write-Host "input string is" $teststring1
Write-Host "splitting the above input using , and ."
$teststring1.Split(",").Split(".")Salida:
Ejemplo #3
Entrada:
Write-Host "Welcome to the Split string demo"
Write-Host "Usage of Max Substrings"
$string= "Jan-Feb-Mar-Apr-May-June-July-Aug-Sep-Oct-Nov-Dec"
Write-Host "Input string is" $string
Write-Host " Splititng the string to max 4 substrinngs"
$string -split "-" , 4
Write-Host "including the delimiter character is substring"
$string -split "(-)" , 4Salida:
Ejemplo #4
Entrada:
Write-Host "Welcome to the Split string demo"
Write-Host "Welcome to Regex tutorial"
$month="Jan-Feb-Mar-Apr-May-June-July-Aug-Sep-Oct-Nov-Dec"
Write-Host "Delimiter is n"
$month -split {$_ -eq "n"}
write-host "************"
Write-Host "Multiple regex expressions"
$month -split {($_ -eq "n") -or ($_ -eq "a")}
write-host "************"
Write-Host "Along with a numerical condition"
$test=5
$month -split {if ($test -gt 4) {$_ -eq "a"} else {$_ -eq "f"}}
write-host "************"
$month -split {if ($test -eq 4) {$_ -eq "z"} else {$_ -eq "f"}}
Write-Host "*********"
$month.Split("[nf]")
Write-Host "**********"Salida:
Ejemplo #5
Entrada:
Write-Host "Welcome to the Split string demo"
Write-Host "Extracting only particular substring"
$teststring= "hello how are you am fine my name is vignesh krishnakumar am from chennai"
$months=$teststring.Split(" ")
Write-Host "First Word is" $months[0]
Write-Host "third word is" $months[2]
Write-Host "Seventh Word is" $months[6]Salida:
Ejemplo #6
Entrada:
Write-Host "Welcome to the Split string demo"
Write-Host "*****************"
$input="sdfsd12323fgds567cxvdsfd12332"
Write-Host "The input is " $input
Write-Host "*****************"
Write-Host "Extracting numbers only from a string"
Write-Host "*****************"
$numbers= $input -split "\D"
Write-Host "extarcted numbers is " $numbers
Write-Host "*****************"
Write-Host "Extracting text only from a string"
Write-Host "*****************"
$numbers1= $input -split "\d"
Write-Host "extracted text is" $numbers1Salida:
Ejemplo #7
Entrada:
Este ejemplo mostrará cómo dividir y generar subcadenas basadas en expresiones regulares y dividir direcciones MAC.
Write-Host "split using regex"
$test=" this . is an . example . of an was an and an . . . ."
$test.Split("an")
Write-Host "splitting a mac address"
$test="12-23-AB-DE-45-BC"
$test.Split("-")
Write-Host "Splitting an IP Address"
$test="122.43.56.78"
$test.Split(".")Salida:
Split-Path
La ruta dividida se utiliza para devolver la parte mencionada en una ruta. Puede ser una carpeta principal, un nombre de archivo o una subcarpeta.
Sintaxis:
AME
Split-Path
Split-Path [-Path] <string[]> [-Parent] [-Resolve] [-Credential <pscredential>] [-UseTransaction] [<CommonParameters>]
Split-Path [-Path] <string[]> [-NoQualifier] [-Resolve] [-Credential <pscredential>] [-UseTransaction] [<CommonParameters>]
Split-Path [-Path] <string[]> [-Leaf] [-Resolve] [-Credential <pscredential>] [-UseTransaction] [<CommonParameters>]
Split-Path [-Path] <string[]> [[-Qualifier]] [-Resolve] [-Credential <pscredential>] [-UseTransaction] [<CommonParameters>]Ejemplo:
Entrada:
Write-Host "Split Path example"
Write-Host "returning the drive of a path"
Split-Path -Path "C:\Users\R003646\Desktop\Articles\Jan" -Qualifier
Write-Host "Dispalying the files inside a folder"
Split-Path -Path "C:\Vignesh\Test\Test6\*.txt" -Leaf -ResolveSalida:
Conclusión
Por lo tanto, el artículo trata en detalle sobre el método de división de cadenas en PowerShell. Explicó los distintos delimitadores con ejemplos apropiados. También mostró los diversos métodos para generar subcadenas mediante la operación de división. También explicó brevemente cómo dividir la ruta de una ruta determinada utilizando el cmdlet de ruta dividida.








