Tahukah Anda bahwa Anda dapat mendeteksi apakah string berakhir dengan karakter tertentu atau jika itu dimulai dalam PowerShell? Thomas Rayner sebelumnya membagikan di CANITPRO.NET bagaimana hal ini dapat dengan mudah dilakukan dengan menggunakan ekspresi reguler atau lebih dikenal sebagai Regex.

Asli di
blog .
Perhatikan contoh-contoh berikut:
'something\' -match '\\$' #returns true 'something' -match '\\$' #returns false '\something' -match '^\\' #returns true 'something' -match '^\\' #returns false
Dalam dua contoh pertama, skrip memeriksa string berakhir untuk melihat apakah itu berakhir dengan garis miring terbalik. Dalam dua contoh terakhir, skrip memeriksa string untuk melihat apakah itu dimulai dengan satu.
Pola regex yang cocok untuk dua yang pertama adalah \\ $. Apa itu artinya Nah, bagian pertama \\ berarti "garis miring terbalik" (karena \ adalah karakter pelarian, kita pada dasarnya melarikan diri dari karakter pelarian. Bagian terakhir $ adalah sinyal untuk akhir baris. Secara efektif apa yang kita miliki adalah "apa pun" sama sekali, di mana hal terakhir di telepon adalah garis miring terbalik βyang persis apa yang kita cari.
Dalam dua contoh kedua, saya baru saja memindahkan \\ ke awal baris dan mulai dengan ^ alih-alih berakhir dengan $ karena ^ adalah sinyal untuk awal baris.
Sekarang Anda dapat melakukan hal-hal seperti ini:
$dir = 'c:\temp' if ($dir -notmatch '\\$') { $dir += '\' } $dir #returns 'c:\temp\'
Di sini, skrip memeriksa untuk melihat apakah string 'beruang' berakhir dengan garis miring terbalik, dan jika tidak, saya menambahkan satu.