Convert-String
例に一致するように文字列を書式設定します。
構文
Default (既定)
Convert-String
[-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
-InputObject <String>
[<CommonParameters>]
説明
コマンドレットは、例の形式に合わせて文字列を書式設定します。
例
例 1: 文字列の形式を変換する
"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."
Han, M.
Hance, J.
Ahs, D.
Akers, K.
最初のコマンドは、姓と名を含む配列を作成します。
2 番目のコマンドは、例に従って名前の書式を設定します。 出力の先頭に姓を置き、その後にイニシャルを入力します。
例 2: 文字列の書式を簡略化する
$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
最初のコマンドは、名、中、姓を含む配列を作成します。 最後のエントリにはミドル ネームがないことに注意してください。
2 番目のコマンドは、例に従って名前の書式を設定します。 出力の先頭に姓を付け、その後に名を付けます。 すべてのミドル ネームが削除されました。ミドル ネームのないエントリが正しく処理されます。
例 3: 文字列が一致しない場合の出力管理の例
$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
最初のコマンドは、名、中、姓を含む配列を作成します。 最後のエントリにはミドル ネームがないことに注意してください。
2 番目のコマンドは、例に従って名前の書式を設定します。 出力の先頭に のミドル ネーム、その後に名を付けます。 サンプル パターンと一致しないため、$Composers の最後のエントリはスキップされます。ミドル ネームはありません。
例 4: 美容空間に注意する
$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."
Wagner, R.
Brahms, J.
最初のコマンドは、姓と名の配列を作成します。 2 番目と 4 番目の項目には、姓の後に余分な末尾のスペースがあることに注意してください。
2 番目のコマンドは、サンプル パターンに一致するすべての文字列 (単語、スペース、単語、および末尾の最後のスペース、等号 (=) の前にすべて変換します。 また、出力の先頭のスペースにも注意してください。
例 5: 複数のパターンでプロセス情報を書式設定する
$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 では、例を使用して、データ内のさまざまな予期されるパターンを定義します。
最初のパターン (@{before='"Hello","World"'; after='World: Hello'}) は、次のように読み取ります。
- 単語が二重引用符で囲まれた後、コンマで囲まれた文字列
- 後、2 番目の単語と最後の単語を引用符で囲みます。
- 文字列内にスペースがありません。 出力: 2 番目の単語を最初に配置します。
- 引用符なしで、次に 1 つのスペースを使用し、次に最初の単語を引用符なしで使用します。
2 番目のパターン @{before='"Hello","1"'; after='1: Hello'}は、次のように読み取ります。
- 単語が二重引用符で囲まれた後、コンマで囲まれた文字列
- し、引用符で囲まれた数値。
- 文字列内にスペースがありません。 出力: 数値を最初に配置します。
- 引用符なしで、次に 1 つのスペースを使用し、次に単語を引用符なしで使用します。
3 番目のパターン (@{before='"Hello-World","22"'; after='22: Hello-World'}) は、次のように読み取ります。
- 間にハイフンが入った 2 つの単語が で囲まれる文字列が必要です
- 二重引用符、コンマ、および引用符で囲まれた数値を します。
- コンマと 3 番目の二重引用符の間にスペースがありません。
- 出力時: 数値を最初に引用符なしで配置し、次に 1 つのスペースを配置
- ハイフネーションされた単語を引用符なしで します。
4 番目と最後のパターン @{before='"hello world","333"'; after='333: hello world'}は、次のように読み取ります。
- 間にスペースがある 2 つの単語が で囲まれる文字列を想定しています
- 二重引用符、コンマ、および引用符で囲まれた数値を します。
- コンマと 3 番目の二重引用符の間にスペースがありません。
- 出力時: 数値を最初に引用符なしで配置し、次に 1 つのスペースを配置
- し、その間にスペースが入った単語を引用符なしで指定します。
最初のコマンドは、Get-Process コマンドレットを使用してすべてのプロセスを取得します。 このコマンドは、プロセス名とプロセス ID を選択する Select-Object コマンドレットに渡します。 パイプラインの最後で、コマンドは、ConvertTo-Csv コマンドレットを使用して、型情報を含まないコンマ区切りの値に出力を変換します。 このコマンドは、結果を $Processes 変数に格納します。 $Processes にプロセス名と PID が含まれるようになりました。
2 番目のコマンドは、入力項目の順序を変更する変数の例を指定します。 このコマンドは、$Processes内の各文字列をカバーします。
注
4 番目のパターンは、スペースで区切られた 2 つ以上の単語が一致することを暗黙的に示しています。 4 番目のパターンがないと、二重引用符で囲まれた文字列の最初の単語のみが照合されます。
パラメーター
-Example
ターゲット形式の例の一覧を指定します。 次の例のように、左にソース パターン、右側にターゲット パターンを使用して、等号 (=) で区切られたペアを指定します。
-Example "Hello World=World, Hello"-Example "Hello World=World: Hello",'"Hello","1"=1: Hello'
注
2 番目の例では、パターンの一覧を使用します
または、Before プロパティと After プロパティを含むハッシュ テーブルの一覧を指定します。
-Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}
注意事項
等号 (=) の周りにスペースを使用しないでください。これらはパターンの一部として扱われます。
パラメーターのプロパティ
| 型: | |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
| Aliases: | E |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | False |
| パイプラインからの値: | False |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
-InputObject
書式設定する文字列を指定します。
パラメーターのプロパティ
| 型: | String |
| 規定値: | None |
| ワイルドカードのサポート: | False |
| DontShow: | False |
パラメーター セット
(All)
| 配置: | Named |
| 必須: | True |
| パイプラインからの値: | True |
| プロパティ名別のパイプラインからの値: | False |
| 残りの引数からの値: | False |
CommonParameters
このコマンドレットでは、一般的なパラメーター -Debug、-ErrorAction、-ErrorVariable、-InformationAction、-InformationVariable、-OutBuffer、-OutVariable、-PipelineVariable、-ProgressAction、-Verbose、-WarningAction、-WarningVariable の各パラメーターがサポートされています。 詳細については、about_CommonParametersを参照してください。
入力
String
このコマンドレットに文字列をパイプできます。
出力
String
このコマンドレットは文字列を返します。