หากคุณมีสตริงข้อความใน Microsoft PowerShell การแบ่งสตริงออกเป็นหลายตัวแปรมักจะเป็นประโยชน์
เครดิตรูปภาพ: dusanpetkovic / iStock / GettyImages
หากคุณมีสตริงข้อความใน Microsoft PowerShell การแบ่งสตริงออกเป็นหลายตัวแปรมักจะเป็นประโยชน์ ตัวอย่างเช่น คุณอาจมีชื่อและนามสกุลของผู้ใช้คั่นด้วยการเว้นวรรค หรือหมายเลขโทรศัพท์ที่ขึ้นต้นด้วยรหัสพื้นที่ คุณสามารถใช้ฟังก์ชัน PowerShell Split ในตัวเพื่อทำสิ่งนี้ได้ ฟังก์ชันอื่นๆ พร้อมใช้งานเพื่อให้ PowerShell แยกวิเคราะห์สตริงด้วยวิธีอื่น
ทำความเข้าใจกับ Microsoft PowerShell
PowerShell เป็นเครื่องมือบรรทัดคำสั่งและภาษาโปรแกรมที่จัดทำโดย Microsoft เป็นการแทนที่เครื่องมือสคริปต์แบตช์ Windows และ DOS รุ่นเก่า ซึ่งยังคงมีอยู่ใน Windows เวอร์ชันส่วนใหญ่
วิดีโอประจำวันนี้
มักใช้เพื่อรวมเอาท์พุตจากหลายโปรแกรมหรือส่งผ่านข้อมูลจากโปรแกรมหนึ่งไปยังอีกโปรแกรมหนึ่ง ดังนั้นจึงมีประโยชน์ที่จะใช้เพื่อจัดการกับสตริง
ฟังก์ชันแยก PowerShell
หากคุณมีสตริงใน PowerShell และต้องการแยกสตริงเป็นอักขระบางตัว คุณสามารถทำได้โดยใช้ built-in แยก การทำงาน. เขียน s -Split โดยที่ s คือตัวแปรที่มีสตริง หรือเรียก s.split ฟังก์ชันจะส่งคืนอาร์เรย์ที่ประกอบด้วยแต่ละองค์ประกอบของสตริงที่แยกออกมา ซึ่งคุณสามารถดักจับในตัวแปรได้ เช่น
$a = s.split()
คุณสามารถกำหนดสิ่งเหล่านี้ให้กับตัวแปรโดยการเข้าถึงแต่ละองค์ประกอบเป็น $a[0], $a[1] และอื่นๆ หรือเก็บไว้ในอาร์เรย์หากมีประโยชน์มากกว่า
การแยกสตริงมักจะมีประโยชน์เมื่อคุณต้องการแยกอินพุตของผู้ใช้หรือเอาต์พุตจากโปรแกรมอื่นออกเป็นส่วนๆ
PowerShell Split Options
ตามค่าเริ่มต้น PowerShell จะแบ่งสตริงบนอักขระช่องว่าง รวมถึงการเว้นวรรค ตัวแบ่งบรรทัด และแท็บ ในบางกรณี คุณอาจต้องการแยกสตริงบนอักขระอื่น เช่น เครื่องหมายจุลภาคหรือยัติภังค์ หรือสตริง เช่น "และ"
เมื่อต้องการทำสิ่งนี้ ให้สร้างอักขระหรือสตริงที่ต้องการเพื่อแยกอาร์กิวเมนต์ที่สองไปยังฟังก์ชัน split โดยเขียน s.split(",") หรือ s -split "," เพื่อแยกบนเครื่องหมายจุลภาค เป็นต้น ตัวละครใดก็ตามที่คุณเลือกมอบให้กับ PowerShell ในฐานะ ตัวคั่นหรือตัวคั่นจะถูกละเว้นจากสตริงผลลัพธ์ทั้งหมด
คุณยังสามารถเลือก a จำนวนสตริงสูงสุดที่จะแบ่งออกเป็น โดยให้สิ่งนี้เป็นข้อโต้แย้งเพิ่มเติม ตัวอย่างเช่น "a, b, c, d".split(",",2) จะให้อาร์เรย์ที่มีองค์ประกอบ "a" และ "b, c, d" ขณะที่ "a, b, c, d" split(",") จะให้อาร์เรย์ที่มีตัวอักษรแต่ละตัวในสตริงของตัวเอง
การตัดแต่งสตริงใน PowerShell
คุณสามารถให้ PowerShell ตัดสตริงหรือลบอักขระส่วนเกินออกจากจุดเริ่มต้นหรือจุดสิ้นสุดได้โดยใช้ ตัดแต่ง การทำงาน. โดยค่าเริ่มต้น ระบบจะลบช่องว่างจากจุดเริ่มต้นและจุดสิ้นสุดของสตริง
ตัวอย่างเช่น " a ".trim() จะให้ผลลัพธ์เป็น "a" คุณสามารถระบุอักขระอื่นๆ ที่คุณต้องการลบออกจากสตริงเป็นอาร์กิวเมนต์ ดังนั้น "^$a ".trim(" ^") จะให้ผลลัพธ์เป็น "$a"
คุณสามารถใช้ฟังก์ชัน TrimStart และ TrimEnd เพื่อลบเฉพาะอักขระจากจุดเริ่มต้นหรือจุดสิ้นสุดของสตริงเท่านั้น
ซึ่งมักจะมีประโยชน์เมื่อคุณได้รับข้อมูลจากผู้ใช้ที่พิมพ์ลงในช่องใส่ที่มีช่องว่างพิเศษหรือขึ้นบรรทัดใหม่
ฟังก์ชันเข้าร่วม PowerShell
เช่นเดียวกับในภาษาโปรแกรมอื่น ๆ PowerShell's เข้าร่วม ฟังก์ชันโดยพื้นฐานแล้วตรงกันข้ามกับ แยก. มันใช้หลายสตริงและรวมเข้าด้วยกันด้วยตัวคั่นที่กำหนดหรือไม่มีที่ว่างเลย
ตัวอย่างเช่น -join ("a","b","c") จะให้ผลลัพธ์เป็น "abc" ในขณะที่ "a","b","c" -join " " จะให้สตริงผลลัพธ์ "ab c ." นี้สามารถ มีประโยชน์เมื่อคุณมีตัวแปรหลายตัวที่คุณต้องรวมเป็นตัวแปรเดียวเพื่อเก็บไว้ในไฟล์ ส่งผ่านไปยังคำสั่งอื่นหรือส่งออกไปยังผู้ใช้