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 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ží křestní jméno do výstupu a za ním křestní jméno. Poslední položka se $Composers
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: slovo, mezera, slovo a poslední koncová mezera, vše před znaménkem 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ávejte řetězce, ve kterých je slovo uzavřeno v dvojitých uvozovkách, a pak čárkou.
- 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ávejte řetězce, ve kterých je slovo uzavřeno v dvojitých uvozovkách, a pak čárkou.
- 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ávejte řetězce, ve kterých jsou dvě slova s pomlčkou mezi nimi uzavřena.
- dvojité uvozovky, potom čá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 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ávejte řetězce, ve kterých jsou dvě slova s mezerou mezi nimi uzavřena.
- dvojité uvozovky, potom čá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 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
souboru .
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 Za .
-Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}
Upozornění
Nepoužívejte mezery kolem znaménka=
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.