Compartir a través de


Convert-String

Da formato a una cadena para que coincida con ejemplos.

Sintaxis

Default (valor predeterminado)

Convert-String
    [-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
    -InputObject <String>
    [<CommonParameters>]

Description

El cmdlet Convert-String 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. La última entrada de $Composers se omite porque no coincide con el patrón de muestra: no tiene segundo nombre.

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 coincidan con el patrón de muestra: 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'}, se lee de la siguiente manera: espere cadenas en las que una palabra viene encerrada entre comillas dobles, luego una coma,y luego 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 luego la primera palabra, sin comillas.

El segundo patrón, @{before='"Hello","1"'; after='1: Hello'}, se lee de la siguiente manera: espere cadenas en las que una palabra viene entre comillas dobles, luego una comay luego un número entre comillas;sin espacios en la cadena. En la salida: coloque primero el número,sin comillas, luego un solo espacio y luego la palabra, sin comillas.

El tercer patrón, @{before='"Hello-World","22"'; after='22: Hello-World'}, se lee de la siguiente manera: espere cadenas en las que dos palabras con un guión en el medio van encerradas entrecomillas dobles, luego una coma y luego un número encerrado entre comillas;sin espacios entre la coma y la tercera comilla doble.En la salida: coloque primero el número, sin comillas, luego un solo espacioy luego las palabras con guión, sin comillas.

El cuarto y último patrón, @{before='"hello world","333"'; after='333: hello world'}, se lee de la siguiente manera: espere cadenas en las que dos palabras con un espacio entre ellas van encerradas entrecomillas dobles, luego una coma y luego un número entre comillas;sin espacios entre la coma y la tercera comilla doble.En la salida: coloque primero el número, sin comillas, luego un solo espacioy luego las palabras con el espacio intermedio, 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 encubre cada cadena en $Processes.

Nota El cuarto patrón dice 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 utiliza 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.

Propiedades de parámetro

Tipo:

List<T>[PSObject]

Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False
Alias:E

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:False
Valor de la canalización:False
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

-InputObject

Especifica una cadena a la que se va a dar formato.

Propiedades de parámetro

Tipo:String
Valor predeterminado:None
Admite caracteres comodín:False
DontShow:False

Conjuntos de parámetros

(All)
Posición:Named
Obligatorio:True
Valor de la canalización:True
Valor de la canalización por nombre de propiedad:False
Valor de los argumentos restantes:False

CommonParameters

Este cmdlet admite los parámetros comunes: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction y -WarningVariable. Para obtener más información, vea about_CommonParameters.

Entradas

String

Puede canalizar cadenas a este cmdlet.

Salidas

String

Este cmdlet devuelve una cadena.