Delen via


Convert-String

Hiermee wordt een tekenreeks opgemaakt die overeenkomt met voorbeelden.

Syntax

Default (Standaard)

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

Description

Met de cmdlet wordt een tekenreeks opgemaakt die overeenkomt met de indeling van voorbeelden.

Voorbeelden

Voorbeeld 1: Indeling van een tekenreeks converteren

"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."
Han, M.
Hance, J.
Ahs, D.
Akers, K.

Met de eerste opdracht maakt u een matrix die voor- en achternamen bevat.

Met de tweede opdracht worden de namen opgemaakt volgens het voorbeeld. De achternaam wordt eerst in de uitvoer weergegeven, gevolgd door een eerste.

Voorbeeld 2: De indeling van een tekenreeks vereenvoudigen

$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

Met de eerste opdracht maakt u een matrix die voor- en achternamen bevat. Houd er rekening mee dat de laatste vermelding geen middelste naam heeft.

Met de tweede opdracht worden de namen opgemaakt volgens het voorbeeld. De achternaam wordt eerst in de uitvoer geplaatst, gevolgd door de voornaam. Alle middelste namen verwijderd; vermelding zonder middelste naam wordt correct verwerkt.

Voorbeeld 3: Uitvoerbeheer wanneer tekenreeksen niet overeenkomen met het voorbeeld

$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

Met de eerste opdracht maakt u een matrix die voor- en achternamen bevat. Houd er rekening mee dat de laatste vermelding geen middelste naam heeft.

Met de tweede opdracht worden de namen opgemaakt volgens het voorbeeld. Hiermee wordt de middelste naam eerst in de uitvoer, gevolgd door de voornaam. De laatste vermelding in $Composers wordt overgeslagen, omdat deze niet overeenkomt met het voorbeeldpatroon: er is geen middelste naam.

Voorbeeld 4: Let op met schoonheidsruimten

$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."
 Wagner, R.
 Brahms, J.

Met de eerste opdracht maakt u een matrix met voor- en achternamen. Houd er rekening mee dat de tweede en vierde items een extra spatie hebben, achter de achternaam.

Met de tweede opdracht worden alle tekenreeksen geconverteerd die overeenkomen met het voorbeeldpatroon: woord, spatie, woord en uiteindelijke volgruimte, dit alles vóór het gelijkteken(=). Let ook op de voorloopruimte in de uitvoer.

Voorbeeld 5: Procesgegevens opmaken met meerdere patronen

$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 definieert verschillende verwachte patronen in de gegevens, via voorbeelden.

Het eerste patroon, @{before='"Hello","World"'; after='World: Hello'}, leest als volgt:

  • tekenreeksen verwachten waarin een woord tussen dubbele aanhalingstekens staat en vervolgens een komma,
  • en vervolgens het tweede en laatste woord tussen aanhalingstekens;
  • zonder spaties in de tekenreeks. In de uitvoer: plaats het tweede woord eerst,
  • zonder aanhalingstekens, vervolgens één spatie en vervolgens het eerste woord, zonder aanhalingstekens.

Het tweede patroon, @{before='"Hello","1"'; after='1: Hello'}, leest als volgt:

  • tekenreeksen verwachten waarin een woord tussen dubbele aanhalingstekens staat en vervolgens een komma,
  • en vervolgens een getal tussen aanhalingstekens;
  • zonder spaties in de tekenreeks. Op de uitvoer: plaats het nummer eerst,
  • zonder aanhalingstekens, dan één spatie en vervolgens het woord, zonder aanhalingstekens.

Het derde patroon, @{before='"Hello-World","22"'; after='22: Hello-World'}, leest als volgt:

  • tekenreeksen verwachten waarbij twee woorden met een afbreekstreepje tussen
  • dubbele aanhalingstekens, vervolgens een komma en vervolgens een getal tussen aanhalingstekens;
  • zonder spaties tussen de komma en het derde dubbele aanhalingsteken.
  • Op de uitvoer: plaats het getal eerst, zonder aanhalingstekens en vervolgens één spatie,
  • en vervolgens de afbreekstreepjes, zonder aanhalingstekens.

Het vierde en laatste patroon, @{before='"hello world","333"'; after='333: hello world'}, leest als volgt:

  • tekenreeksen verwachten waarbij twee woorden met een spatie tussen
  • dubbele aanhalingstekens, vervolgens een komma en vervolgens een getal tussen aanhalingstekens;
  • zonder spaties tussen de komma en het derde dubbele aanhalingsteken.
  • Op de uitvoer: plaats het getal eerst, zonder aanhalingstekens en vervolgens één spatie,
  • en vervolgens de woorden met de spatie ertussen, zonder aanhalingstekens.

Met de eerste opdracht worden alle processen ophaalt met behulp van de cmdlet Get-Process. Met de opdracht worden ze doorgegeven aan de Select-Object-cmdlet, waarmee de procesnaam en proces-id worden geselecteerd. Aan het einde van de pijplijn converteert de opdracht de uitvoer naar door komma's gescheiden waarden, zonder typegegevens, met behulp van de cmdlet ConvertTo-Csv. Met de opdracht worden de resultaten opgeslagen in de variabele $Processes. $Processes bevat nu procesnamen en PID.

Met de tweede opdracht geeft u een voorbeeldvariabele op waarmee de volgorde van de invoeritems wordt gewijzigd. Met de opdracht wordt elke tekenreeks in $Processesbedekt.

Opmerking

In het vierde patroon wordt impliciet aangegeven dat twee of meer woorden gescheiden door spaties overeenkomen. Zonder het vierde patroon komt alleen het eerste woord van de tekenreeks tussen dubbele aanhalingstekens overeen.

Parameters

-Example

Hiermee geeft u een lijst met voorbeelden van de doelindeling. Geef paren op, gescheiden door het gelijkteken (=), met het bronpatroon aan de linkerkant en het doelpatroon aan de rechterkant, zoals in de volgende voorbeelden:

  • -Example "Hello World=World, Hello"
  • -Example "Hello World=World: Hello",'"Hello","1"=1: Hello'

Opmerking

In het tweede voorbeeld wordt een lijst met patronen gebruikt

U kunt ook een lijst opgeven met hashtabellen die Vóór en Na eigenschappen bevatten.

  • -Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}

Waarschuwing

Vermijd het gebruik van spaties rond het gelijkteken(=), omdat ze worden behandeld als onderdeel van het patroon.

Parametereigenschappen

Type:

List<T>[PSObject]

Default value:None
Ondersteunt jokertekens:False
DontShow:False
Aliassen:E

Parametersets

(All)
Position:Named
Verplicht:False
Waarde uit pijplijn:False
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

-InputObject

Hiermee geeft u een tekenreeks op die moet worden opgemaakt.

Parametereigenschappen

Type:String
Default value:None
Ondersteunt jokertekens:False
DontShow:False

Parametersets

(All)
Position:Named
Verplicht:True
Waarde uit pijplijn:True
Waarde uit pijplijn op eigenschapsnaam:False
Waarde van resterende argumenten:False

CommonParameters

Deze cmdlet ondersteunt de algemene parameters: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction en -WarningVariable. Zie about_CommonParametersvoor meer informatie.

Invoerwaarden

String

U kunt tekenreeksen naar deze cmdlet doorsluizen.

Uitvoerwaarden

String

Met deze cmdlet wordt een tekenreeks geretourneerd.