PowerShell:
การดึงข้อมูลย่อยออกมา
วิธีทำ:
นี่คือวิธีการตัดและหั่นสตริงใน PowerShell:
# กำหนดสตริง
$text = "Power up your PowerShell skills!"
# การสกัดโดยใช้วิธีการ substring
$startIndex = 10
$length = 9
$substring = $text.Substring($startIndex, $length)
Write-Host $substring # ผลลัพธ์: your Powe
# การสกัดโดยใช้ตัวดำเนินการ range
$subrange = $text[10..18] -join ''
Write-Host $subrange # ผลลัพธ์: your Powe
# การสกัดจากจุดเริ่มต้นไปจนถึงตำแหน่งหนึ่ง
$firstPart = $text.Substring(0, $startIndex)
Write-Host $firstPart # ผลลัพธ์: Power up
# การสกัดหลังจากตัวอักษรหนึ่ง
$splitString = $text.Split(" ")[2]
Write-Host $splitString # ผลลัพธ์: your
ลงลึก
กลับไปในอดีต, PowerShell เพิ่งมีเพียงวิธีการจัดการสตริงพื้นฐานเท่านั้น ตอนนี้, มันเป็นอีกเรื่องราวหนึ่งเลย วิธีการ .Substring()
นั้นมีมานานและง่ายต่อการใช้งาน—ถ้าคุณให้ดัชนีเริ่มต้นและความยาวที่เลือกได้, มันจะตัดส่วนที่คุณต้องการออกมา ตั้งแต่ PowerShell 6, คุณยังสามารถใช้ตัวดำเนินการ range ซึ่งอาจเรียบง่ายกว่า โดยเฉพาะเมื่อคุณจัดการกับสตริงที่มีความยาวแปรผัน
มีตัวดำเนินการ -split
และวิธีการ .Split()
ทั้งคู่มีประโยชน์ในการตัดสตริงตามรูปแบบหรือตัวอักษร ต้องการส่วนที่เฉพาะเจาะจง? ใช้เครื่องมือเหล่านี้
ในด้านประสิทธิภาพ, ไม่มีอะไรแตกต่างมากสำหรับงานเล็กๆ แต่เมื่อคุณกำลังทำงานกับไฟล์ข้อความขนาดใหญ่หรือการวนลูปทุกหนึ่งมิลลิวินาที คุณจะต้องการทราบเกณฑ์มาตรฐาน มิฉะนั้น, มันมากกว่าเกี่ยวกับความอ่านง่ายและสิ่งที่รู้สึกถูกต้องสำหรับสคริปต์ของคุณ
จำไว้ว่า, สตริงใน PowerShell มีการจัดดัชนีเริ่มต้นที่ศูนย์—ทั่วไปในหลายภาษาการเขียนโปรแกรม ระวังข้อผิดพลาดอย่างหนึ่งที่พบบ่อย
ดูเพิ่มเติม
สำหรับเนื้อหาเพิ่มเติมเกี่ยวกับการดัดแปลงสตริงใน PowerShell:
- About_Split
- About Comparison Operators ซึ่งครอบคลุม -split