การดึงข้อมูลย่อยออกมา

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: