Convert-String
Naformátuje řetězec tak, aby odpovídal příkladům.
Syntaxe
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
Description
Rutina Convert-String 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 neodpovídá vzoru vzorku: 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 rovnítkem. 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ává ř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: nejprve umístěte druhé slovo,bez uvozovek, pak jednu mezeru a potom první slovo bez uvozovek.
Druhý vzor, @{before='"Hello","1"'; after='1: Hello'}
, čte následujícím způsobem: očekává ř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řena vdvojitých uvozovek, pak čárka a potom čí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, pak jednu mezeru,a potom pomlčky slov bez uvozovek.
Čtvrtý a konečný vzor, @{before='"hello world","333"'; after='333: hello world'}
, čte takto: očekává řetězce, ve kterých jsou dvě slova s mezerou mezi dvěma uvozovkami uzavřena vdvojitých uvozovek, pak čárka a potom čí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, 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é znaménkem 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í Vyhněte se použití mezer kolem symbolu rovná se, protože jsou považovány za součást vzoru.
Typ: | List<T>[PSObject] |
Aliasy: | E |
Position: | Named |
Default value: | None |
Vyžadováno: | False |
Přijmout vstup kanálu: | False |
Přijmout zástupné znaky: | False |
-InputObject
Určuje řetězec, který se má formátovat.
Typ: | String |
Position: | Named |
Default value: | None |
Vyžadováno: | True |
Přijmout vstup kanálu: | True |
Přijmout zástupné znaky: | False |
Vstupy
String
Do této rutiny můžete zamísťovat řetězce.
Výstupy
String
Tato rutina vrátí řetězec.