Convert-String
Hiermee wordt een tekenreeks opgemaakt die overeenkomt met voorbeelden.
Syntaxis
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
Description
De Convert-String cmdlet formatteert een tekenreeks 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 laatste volgruimte, allemaal 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: verwacht tekenreeksen waarin een woord tussen dubbele aanhalingstekens staat, 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, vervolgens een komma,en vervolgens een getal tussen aanhalingstekens;zonder spaties in de tekenreeks. Plaats in de uitvoer eerst het getal,zonder aanhalingstekens, vervolgens één spatie en vervolgens het woord, zonder aanhalingstekens.
Het derde patroon, @{before='"Hello-World","22"'; after='22: Hello-World'}
, leest als volgt: verwacht tekenreeksen waarin twee woorden met een afbreekstreepje tussen dubbele aanhalingstekens tussendubbele aanhalingstekens, een komma en vervolgens een getal tussen aanhalingstekens worden geplaatst;zonder spaties tussen de komma en het derde dubbele aanhalingsteken.Op de uitvoer: plaats het getal eerst, zonder aanhalingstekens, 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: verwacht tekenreeksen waarbij twee woorden tussen een spatie tussendubbele aanhalingstekens, een komma en vervolgens een getal tussen aanhalingstekens worden geplaatst;zonder spaties tussen de komma en het derde dubbele aanhalingsteken.Op de uitvoer: plaats het getal eerst, zonder aanhalingstekens, 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'}
Let op Vermijd het gebruik van spaties rond het gelijkteken, omdat ze worden behandeld als onderdeel van het patroon.
Type: | List<T>[PSObject] |
Aliassen: | E |
Position: | Named |
Default value: | None |
Vereist: | False |
Pijplijninvoer accepteren: | False |
Jokertekens accepteren: | False |
-InputObject
Hiermee geeft u een tekenreeks op die moet worden opgemaakt.
Type: | String |
Position: | Named |
Default value: | None |
Vereist: | True |
Pijplijninvoer accepteren: | True |
Jokertekens accepteren: | False |
Invoerwaarden
String
U kunt tekenreeksen naar deze cmdlet doorsluizen.
Uitvoerwaarden
String
Met deze cmdlet wordt een tekenreeks geretourneerd.