Compartir a través de


Convert-String

Da formato a una cadena para que coincida con ejemplos.

Syntax

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 iniciales, intermedios y apellidos. 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 apellido primero 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 iniciales, intermedios y apellidos. 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 nombre intermedio en la salida, seguido del nombre. Se omite la última entrada de $Composers , porque 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 de la siguiente manera: espera cadenas en las que una palabra se incluye entre comillas dobles, luego una comay, a continuación, la segunda y la ú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: espera cadenas en las que una palabra se incluye entre comillas dobles, luego una comay, a continuación, 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 de la siguiente manera: espera cadenas en las que dos palabras con un guión entre comillas dobles se incluyen entrecomillas 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, luego un solo espacioy, a continuación, las palabras con guiones, sin comillas.

El cuarto, y el patrón final, @{before='"hello world","333"'; after='333: hello world'}, lee de la siguiente manera: espera cadenas en las que dos palabras con un espacio entre comillas se incluyen entrecomillas 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, luego un solo espacioy, a continuación, las palabras con el espacio entre comillas, 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 en $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'}

Precaución Evite el uso de espacios alrededor del signo igual, ya que se tratan como parte del patrón.

Type:List<T>[PSObject]
Aliases:E
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

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

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Entradas

String

Puede canalizar cadenas a este cmdlet.

Salidas

String

Este cmdlet devuelve una cadena.