Convert-String
Da formato a una cadena para que coincida con ejemplos.
Sintaxis
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
Description
El cmdlet da formato a una cadena para que coincida con el formato de los ejemplos.
Ejemplos
Ejemplo 1: Convertir el formato de una cadena
"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."
Han, M.
Hance, J.
Ahs, D.
Akers, K.
El primer comando crea una matriz que contiene los nombres y apellidos.
El segundo comando da formato a los nombres según el ejemplo. Coloca el apellido primero en la salida, seguido de una inicial.
Ejemplo 2: Simplificar el formato de una cadena
$composers = @("Johann Sebastian Bach", "Wolfgang Amadeus Mozart", "Frederic Francois Chopin", "Johannes Brahms")
$composers | Convert-String -Example "first middle last=last, first"
Bach, Johann
Mozart, Wolfgang
Chopin, Frederic
Brahms, Johannes
El primer comando crea una matriz que contiene los nombres primero, intermedio y apellido. Tenga en cuenta que la última entrada no tiene ningún nombre intermedio.
El segundo comando da formato a los nombres según el ejemplo. Coloca primero el apellido en la salida, seguido del nombre. Todos los nombres intermedios quitados; entry sin nombre intermedio se controla correctamente.
Ejemplo 3: Administración de salidas cuando las cadenas no coinciden con el ejemplo
$composers = @("Johann Sebastian Bach", "Wolfgang Amadeus Mozart", "Frederic Francois Chopin", "Johannes Brahms")
$composers | Convert-String -Example "first middle last=middle, first"
Sebastian, Johann
Amadeus, Wolfgang
Francois, Frederic
El primer comando crea una matriz que contiene los nombres primero, intermedio y apellido. Tenga en cuenta que la última entrada no tiene ningún nombre intermedio.
El segundo comando da formato a los nombres según el ejemplo. Coloca el nombre intermedio primero en la salida, seguido del nombre. Se omite la última entrada de $Composers
, ya que no coincide con el patrón de ejemplo: no tiene ningún nombre intermedio.
Ejemplo 4: Precaución con espacios de belleza
$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."
Wagner, R.
Brahms, J.
El primer comando crea una matriz de nombres y apellidos. Tenga en cuenta que los elementos segundo y cuarto tienen un espacio final adicional, después del apellido.
El segundo comando convierte todas las cadenas que coinciden con el patrón de ejemplo: palabra, espacio, palabra y espacio final final, todo esto antes del signo igual(=
). Además, tenga en cuenta el espacio inicial en la salida.
Ejemplo 5: Dar formato a la información del proceso con varios patrones
$ExamplePatterns = @(
@{before='"Hello","World"'; after='World: Hello'},
@{before='"Hello","1"'; after='1: Hello'},
@{before='"Hello-World","22"'; after='22: Hello-World'},
@{before='"hello world","333"'; after='333: hello world'}
)
$Processes = Get-Process | Select-Object -Property ProcessName, Id | ConvertTo-Csv -NoTypeInformation
$Processes | Convert-String -Example $ExamplePatterns
Id: ProcessName
4368: AGSService
8896: Amazon Music Helper
4420: AppleMobileDeviceService
...
11140: git-bash
0: Idle
...
56: Secure System
...
13028: WmiPrvSE
2724: WUDFHost
2980: WUDFHost
3348: WUDFHost
$ExamplePatterns define diferentes patrones esperados en los datos, a través de ejemplos.
El primer patrón, @{before='"Hello","World"'; after='World: Hello'}
, lee lo siguiente:
- esperar cadenas en las que se incluye una palabra entre comillas dobles y, a continuación, una coma,
- y, a continuación, la segunda y última palabra entre comillas;
- sin espacios en la cadena. En la salida: coloque primero la segunda palabra,
- sin comillas, luego un solo espacio y, a continuación, la primera palabra, sin comillas.
El segundo patrón, @{before='"Hello","1"'; after='1: Hello'}
, lee de la siguiente manera:
- esperar cadenas en las que se incluye una palabra entre comillas dobles y, a continuación, una coma,
- y luego un número entre comillas;
- sin espacios en la cadena. En la salida: coloque el número primero,
- sin comillas, luego un solo espacio y, a continuación, la palabra, sin comillas.
El tercer patrón, @{before='"Hello-World","22"'; after='22: Hello-World'}
, lee lo siguiente:
- esperar cadenas donde dos palabras con un guión entre vienen entre
- comillas dobles, luego una coma y, a continuación, un número entre comillas;
- sin espacios entre la coma y la tercera comilla doble.
- En la salida: coloque el número primero, sin comillas, después un solo espacio,
- y luego las palabras con guiones, sin comillas.
El cuarto, y el patrón final, @{before='"hello world","333"'; after='333: hello world'}
, lee lo siguiente:
- esperar cadenas en las que dos palabras con un espacio entre vienen entre
- comillas dobles, luego una coma y, a continuación, un número entre comillas;
- sin espacios entre la coma y la tercera comilla doble.
- En la salida: coloque el número primero, sin comillas, después un solo espacio,
- y, a continuación, las palabras con el espacio entre, sin comillas.
El primer comando obtiene todos los procesos mediante el cmdlet Get-Process. El comando los pasa al cmdlet Select-Object, que selecciona el nombre del proceso y el identificador de proceso. Al final de la canalización, el comando convierte la salida en valores separados por comas, sin información de tipo, mediante el cmdlet ConvertTo-Csv. El comando almacena los resultados en la variable $Processes. $Processes ahora contiene nombres de proceso y PID.
El segundo comando especifica una variable de ejemplo que cambia el orden de los elementos de entrada. El comando cubre cada cadena de $Processes
.
Nota
El cuarto patrón indica implícitamente que dos o más palabras separadas por espacios coinciden. Sin el cuarto patrón, solo se coincide con la primera palabra de la cadena entre comillas dobles.
Parámetros
-Example
Especifica una lista de ejemplos del formato de destino. Especifique pares separados por el signo igual (=
), con el patrón de origen a la izquierda y el patrón de destino a la derecha, como en los ejemplos siguientes:
-Example "Hello World=World, Hello"
-Example "Hello World=World: Hello",'"Hello","1"=1: Hello'
Nota
En el segundo ejemplo se usa una lista de patrones
Como alternativa, especifique una lista de tablas hash que contengan propiedades Before y After.
-Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}
Cautela
Evite usar espacios alrededor del signo igual(=
), ya que se tratan como parte del patrón.
Tipo: | List<T>[PSObject] |
Alias: | E |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | False |
Aceptar entrada de canalización: | False |
Aceptar caracteres comodín: | False |
-InputObject
Especifica una cadena a la que se va a dar formato.
Tipo: | String |
Posición: | Named |
Valor predeterminado: | None |
Requerido: | True |
Aceptar entrada de canalización: | True |
Aceptar caracteres comodín: | False |
Entradas
String
Puede canalizar cadenas a este cmdlet.
Salidas
String
Este cmdlet devuelve una cadena.