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: | |
| 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.