Convert-String

Memformat string untuk mencocokkan contoh.

Sintaks

Convert-String
       [-Example <System.Collections.Generic.List`1[System.Management.Automation.PSObject]>]
       -InputObject <String>
       [<CommonParameters>]

Deskripsi

Cmdlet memformat string agar sesuai dengan format contoh.

Contoh

Contoh 1: Mengonversi format string

"Mu Han", "Jim Hance", "David Ahs", "Kim Akers" | Convert-String -Example "Ed Wilson=Wilson, E."

Han, M.
Hance, J.
Ahs, D.
Akers, K.

Perintah pertama membuat array yang berisi nama depan dan belakang.

Perintah kedua memformat nama sesuai dengan contoh. Ini menempatkan nama keluarga pertama dalam output, diikuti oleh awal.

Contoh 2: Menyederhanakan format string

$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

Perintah pertama membuat array yang berisi nama depan, tengah, dan belakang. Perhatikan bahwa entri terakhir tidak memiliki nama tengah.

Perintah kedua memformat nama sesuai dengan contoh. Ini menempatkan nama belakang terlebih dahulu dalam output, diikuti dengan nama depan. Semua nama tengah dihapus; entri tanpa nama tengah ditangani dengan benar.

Contoh 3: Manajemen output saat string tidak cocok dengan contoh

$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

Perintah pertama membuat array yang berisi nama depan, tengah, dan belakang. Perhatikan bahwa entri terakhir tidak memiliki nama tengah.

Perintah kedua memformat nama sesuai dengan contoh. Ini menempatkan nama tengah terlebih dahulu dalam output, diikuti dengan nama depan. Entri terakhir dilewati $Composers , karena tidak cocok dengan pola sampel: tidak memiliki nama tengah.

Contoh 4: Hati-hati dengan ruang kecantikan

$composers = @("Antonio Vivaldi", "Richard Wagner ", "Franz Schubert", "Johannes Brahms ")
$composers | Convert-String -Example "Patti Fuller = Fuller, P."

Wagner, R.
 Brahms, J.

Perintah pertama membuat array nama depan dan belakang. Perhatikan bahwa item kedua dan keempat memiliki spasi tambahan setelah nama belakang.

Perintah kedua mengonversi semua string yang cocok dengan pola sampel: kata, spasi, kata, dan spasi akhir berikutnya, semua ini sebelum tanda sama dengan(=). Selain itu, perhatikan ruang di depan dalam output.

Contoh 5: Memformat informasi proses dengan beberapa pola

$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 mendefinisikan pola yang diharapkan yang berbeda dalam data, melalui contoh.

Pola pertama, @{before='"Hello","World"'; after='World: Hello'}, dibaca sebagai berikut:

  • mengharapkan string di mana kata diapit dalam tanda kutip ganda, lalu koma,
  • dan kemudian kata kedua, dan terakhir, diapit dalam tanda kutip;
  • tanpa spasi dalam string. Pada output: tempatkan kata kedua terlebih dahulu,
  • tanpa tanda kutip, lalu spasi tunggal, lalu kata pertama, tanpa tanda kutip.

Pola kedua, @{before='"Hello","1"'; after='1: Hello'}, dibaca sebagai berikut:

  • mengharapkan string di mana kata diapit dalam tanda kutip ganda, lalu koma,
  • dan kemudian angka diapit dalam tanda kutip;
  • tanpa spasi dalam string. Pada output: tempatkan angka terlebih dahulu,
  • tanpa tanda kutip, lalu spasi tunggal, lalu kata, tanpa tanda kutip.

Pola ketiga, @{before='"Hello-World","22"'; after='22: Hello-World'}, dibaca sebagai berikut:

  • mengharapkan string di mana dua kata dengan tanda hubung di antaranya diapit
  • tanda kutip ganda, lalu koma, lalu angka diapit dalam tanda kutip;
  • tanpa spasi antara koma dan kutipan ganda ketiga.
  • Pada output: tempatkan angka terlebih dahulu, tanpa tanda kutip, lalu spasi tunggal,
  • dan kemudian kata-kata yang dipengaruhi, tanpa tanda kutip.

Keempat, dan terakhir, pola, @{before='"hello world","333"'; after='333: hello world'}, dibaca sebagai berikut:

  • mengharapkan string di mana dua kata dengan spasi di antaranya diapit
  • tanda kutip ganda, lalu koma, lalu angka diapit dalam tanda kutip;
  • tanpa spasi antara koma dan kutipan ganda ketiga.
  • Pada output: tempatkan angka terlebih dahulu, tanpa tanda kutip, lalu spasi tunggal,
  • dan kemudian kata-kata dengan spasi di antara, tanpa tanda kutip.

Perintah pertama mendapatkan semua proses dengan menggunakan cmdlet Get-Process. Perintah meneruskannya ke cmdlet Select-Object, yang memilih nama proses dan ID proses. Di akhir alur, perintah mengonversi output menjadi nilai yang dipisahkan koma, tanpa informasi jenis, dengan menggunakan cmdlet ConvertTo-Csv. Perintah menyimpan hasil dalam variabel $Processes . $Processes sekarang berisi nama proses dan PID.

Perintah kedua menentukan contoh variabel yang mengubah urutan item input. Perintah mencakup setiap string di $Processes.

Catatan

Pola keempat secara implisit mengatakan bahwa dua kata atau lebih yang dipisahkan oleh spasi dicocokkan. Tanpa pola keempat, hanya kata pertama string yang diapit tanda kutip ganda yang cocok.

Parameter

-Example

Menentukan daftar contoh format target. Tentukan pasangan yang dipisahkan oleh tanda sama dengan (=), dengan pola sumber di sebelah kiri dan pola target di sebelah kanan, seperti dalam contoh berikut:

  • -Example "Hello World=World, Hello"
  • -Example "Hello World=World: Hello",'"Hello","1"=1: Hello'

Catatan

Contoh kedua menggunakan daftar pola

Atau, tentukan daftar tabel hash yang berisi properti Sebelum dan Sesudah .

  • -Example @{before='"Hello","World"'; after='World: Hello'}, @{before='"Hello","1"'; after='1: Hello'}

Perhatian

Hindari menggunakan spasi di sekitar tanda sama dengan(=), karena diperlakukan sebagai bagian dari pola.

Type:List<T>[PSObject]
Aliases:E
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-InputObject

Menentukan string yang akan diformat.

Type:String
Position:Named
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

Input

String

Anda dapat menyalurkan string ke cmdlet ini.

Output

String

Cmdlet ini mengembalikan string.