Convert-String
Naformátuje řetězec tak, aby odpovídal příkladům.
Syntax
Default (Výchozí)
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
Description
Rutina formátuje řetězec tak, aby odpovídal formátu příkladů.
Příklady
Příklad 1: Převod formátu řetězce
"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."
Han, M.
Hance, J.
Ahs, D.
Akers, K.
První příkaz vytvoří pole, které obsahuje křestní jméno a příjmení.
Druhý příkaz formátuje názvy podle příkladu. Vloží příjmení jako první do výstupu, za nímž následuje počáteční.
Příklad 2: Zjednodušení formátu řetězce
$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
První příkaz vytvoří pole, které obsahuje křestní jména, prostřední jména a příjmení. Všimněte si, že poslední položka nemá žádné druhé jméno.
Druhý příkaz formátuje názvy podle příkladu. Vloží příjmení do výstupu, za nímž následuje křestní jméno. Všechny prostřední názvy byly odebrány; položka bez prostředního názvu je zpracována správně.
Příklad 3: Správa výstupu, když se řetězce neshodují s příkladem
$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
První příkaz vytvoří pole, které obsahuje křestní jména, prostřední jména a příjmení. Všimněte si, že poslední položka nemá žádné druhé jméno.
Druhý příkaz formátuje názvy podle příkladu. Vloží prostřední název do výstupu a za ním křestní jméno. Poslední položka v $Composers se přeskočí, protože se neshoduje s ukázkovým vzorem: nemá žádný prostřední název.
Příklad 4: Upozornění s prostory krásy
$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."
Wagner, R.
Brahms, J.
První příkaz vytvoří pole křestních jmen a příjmení. Všimněte si, že druhá a čtvrtá položka mají za příjmením nadbytečnou koncovou mezeru.
Druhý příkaz převede všechny řetězce, které odpovídají vzoru vzorku: slova, mezery, slova a konečné koncové mezery, to vše před znakem rovná se(=). Všimněte si také úvodní mezery ve výstupu.
Příklad 5: Formátování informací o procesu s více vzory
$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 definuje různé očekávané vzory v datech prostřednictvím příkladů.
První vzor, @{before='"Hello","World"'; after='World: Hello'}, čte takto:
- očekávat řetězce, ve kterých je slovo uzavřeno do dvojitých uvozovek, pak čárka,
- a potom druhé a poslední slovo uzavřené v uvozovkách;
- bez mezer v řetězci. Na výstupu: první místo druhého slova
- bez uvozovek, pak jedno mezery a potom první slovo bez uvozovek.
Druhý vzor, @{before='"Hello","1"'; after='1: Hello'}, čte takto:
- očekávat řetězce, ve kterých je slovo uzavřeno do dvojitých uvozovek, pak čárka,
- a pak číslo uzavřené v uvozovkách;
- bez mezer v řetězci. Na výstupu: nejprve umístěte číslo.
- bez uvozovek, pak jednu mezeru a potom slovo bez uvozovek.
Třetí vzor, @{before='"Hello-World","22"'; after='22: Hello-World'}, čte takto:
- očekávat řetězce, ve kterých jsou dvě slova s spojovníkem mezi nimi uzavřená v
- dvojitých uvozovek, potom čárku a číslo uzavřené v uvozovkách;
- bez mezer mezi čárkou a třetí dvojitou uvozovkou.
- Na výstupu: nejprve umístěte číslo bez uvozovek a pak jednu mezeru
- a potom pomlčka slov bez uvozovek.
Čtvrtý a konečný vzor, @{before='"hello world","333"'; after='333: hello world'}, čte takto:
- očekávat řetězce, ve kterých jsou dvě slova s mezerou mezi nimi uzavřená v
- dvojitých uvozovek, potom čárku a číslo uzavřené v uvozovkách;
- bez mezer mezi čárkou a třetí dvojitou uvozovkou.
- Na výstupu: nejprve umístěte číslo bez uvozovek a pak jednu mezeru
- a potom slova s mezerou mezi, bez uvozovek.
První příkaz získá všechny procesy pomocí rutiny Get-Process. Příkaz je předá rutině Select-Object, která vybere název procesu a ID procesu. Na konci kanálu příkaz převede výstup na hodnoty oddělené čárkami bez informací o typu pomocí rutiny ConvertTo-Csv. Příkaz uloží výsledky do proměnné $Processes. $Processes teď obsahuje názvy procesů a PID.
Druhý příkaz určuje ukázkovou proměnnou, která změní pořadí vstupních položek. Příkaz překryje každý řetězec v $Processes.
Poznámka:
Čtvrtý vzor implicitně říká, že se shodují dvě nebo více slov oddělených mezerami. Bez čtvrtého vzoru se porovná pouze první slovo řetězce uzavřeného v dvojitých uvozovkách.
Parametry
-Example
Určuje seznam příkladů cílového formátu. Zadejte dvojice oddělené symbolem rovná se (=), se zdrojovým vzorem vlevo a cílovým vzorem vpravo, jak je znázorněno v následujících příkladech:
-Example "Hello World=World, Hello"-Example "Hello World=World: Hello",'"Hello","1"=1: Hello'
Poznámka:
Druhý příklad používá seznam vzorů.
Případně můžete zadat seznam tabulek hash, které obsahují vlastnosti Před a Po.
-Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}
Upozornění
Nepoužívejte mezery kolem symbolu rovná se(=), protože jsou považovány za součást vzoru.
Vlastnosti parametru
| Typ: | |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
| Aliasy: | E |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | False |
| Hodnota z kanálu: | False |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
-InputObject
Určuje řetězec, který se má formátovat.
Vlastnosti parametru
| Typ: | String |
| Default value: | None |
| Podporuje zástupné znaky: | False |
| DontShow: | False |
Sady parametrů
(All)
| Position: | Named |
| Povinné: | True |
| Hodnota z kanálu: | True |
| Hodnota z kanálu podle názvu vlastnosti: | False |
| Hodnota ze zbývajících argumentů: | False |
CommonParameters
Tato rutina podporuje běžné parametry: -Debug, -ErrorAction, -ErrorVariable, -InformationAction, -InformationVariable, -OutBuffer, -OutVariable, -PipelineVariable, -ProgressAction, -Verbose, -WarningAction a -WarningVariable. Další informace najdete v about_CommonParameters.
Vstupy
String
Do této rutiny můžete zamísťovat řetězce.
Výstupy
String
Tato rutina vrátí řetězec.