پاورشل برای برنامهنویسان
@programming_tipsدرسنامه: عملیات روی رشتهها و آرایهها
این مبحث خیلی مهمه چون بخش بزرگی از کارهای روزمره در مدیریت سیستم یا پردازش دادهها با رشتهها و آرایهها سروکار داره.
۱. عملیات روی رشتهها (Strings)
تعریف رشته
یک رشته (string) مجموعهای از کاراکترهاست که داخل " یا ' قرار میگیرد:
$text = "Hello World"
به دست آوردن طول رشته
برای فهمیدن طول رشته از .Length استفاده میکنیم:
$text.Length # خروجی: 11
دسترسی به کاراکترهای رشته
هر کاراکتر مثل آرایه در یک ایندکس (از 0 شروع میشود) قرار دارد:
$text[0] # خروجی: H $text[6] # خروجی: W
تبدیل حروف
- بزرگ کردن حروف:
$text.ToUpper()
- کوچک کردن حروف:
$text.ToLower()
جایگزینی بخشی از متن
$text.Replace("World", "PowerShell")
# خروجی: Hello PowerShell
بریدن رشته (Substring)
$text.Substring(0, 5) # خروجی: Hello
جدا کردن رشته (Split)
$words = $text.Split(" ")
$words[0] # خروجی: Hello
$words[1] # خروجی: World
اتصال رشتهها
- با
+:
"Hello" + " " + "Ali"
- یا با جایگذاری متغیر داخل رشته:
$name = "Ali" "Hello $name"
۲. عملیات روی آرایهها (Arrays)
تعریف آرایه
آرایه مجموعهای از عناصره که با @() تعریف میشه:
$numbers = @(1, 2, 3, 4, 5)
دسترسی به عناصر
$numbers[0] # خروجی: 1 $numbers[3] # خروجی: 4
اضافه کردن عنصر
$numbers += 6
حذف عنصر
با استفاده از Where-Object:
$numbers = $numbers | Where-Object { $_ -ne 3 }
طول آرایه
$numbers.Length
پیمایش (Loop)
foreach ($n in $numbers) {
Write-Output $n
}
مرتبسازی
$sorted = $numbers | Sort-Object
برعکس کردن
$reversed = $numbers[($numbers.Length-1)..0]
فیلتر کردن
$even = $numbers | Where-Object { $_ % 2 -eq 0 }
ترکیب رشته و آرایه
گاهی رشتهها رو به آرایه تبدیل میکنیم یا برعکس:
# Split رشته به آرایه
$sentence = "one,two,three"
$list = $sentence.Split(",")
# Join آرایه به رشته
-join $list # خروجی: onetwothree
$list -join "-" # خروجی: one-two-three
🔑 خلاصه اینکه:
- روی رشتهها میشه کارهایی مثل بریدن، جایگزینی، تغییر حروف و جدا کردن انجام داد.
- روی آرایهها میشه اضافه/حذف، مرتبسازی، پیمایش و فیلتر کرد.
- تبدیل بین رشته و آرایه هم خیلی پرکاربرده (مثل Split و Join).