PowerShell:
การต่อสตริง
วิธีทำ:
มาเริ่มกันเลย:
# การใช้งาน '+' operator
$greeting = 'Hello, ' + 'World!'
$greeting # แสดงผล: Hello, World!
# ผ่าน string interpolation
$name = 'Jane'
$welcomeMessage = "Hi, $name, nice to meet you!"
$welcomeMessage # แสดงผล: Hi, Jane, nice to meet you!
# ด้วยการใช้ -f operator (format operator)
$city = 'New York'
$visitMessage = 'Welcome to {0}!' -f $city
$visitMessage # แสดงผล: Welcome to New York!
# StringBuilder สำหรับกรณีที่ซับซ้อน (อาจจะเกินความจำเป็นสำหรับงานง่ายๆ)
$textBuilder = New-Object System.Text.StringBuilder
[void]$textBuilder.Append('PowerShell ')
[void]$textBuilder.Append('is ')
[void]$textBuilder.Append('awesome.')
$textBuilder.ToString() # แสดงผล: PowerShell is awesome.
ลงลึก
ในอดีต การต่อสตริงอาจจะมีปัญหาบ้างในภาษาโปรแกรมมิ่งรุ่นเก่า - ลองคิดเหมือนกับการใช้เทปติดประโยคเข้าด้วยกัน ใน PowerShell มันง่ายมาก
มีวิธีการที่ต่างกันในการทำงาน. การใช้ ‘+’ operator นั้นตรงไปตรงมาแต่อาจจะช้าเมื่อมีสตริงจำนวนมาก String interpolation ด้วย “$variable” นั้นสะอาดกว่า และยอดเยี่ยมสำหรับการแทรกตัวแปรเข้าไปในสตริง การใช้ ‘-f’ operator มีประโยชน์ในสถานการณ์การใช้เทมเพลต
เกี่ยวกับประสิทธิภาพ - ถ้าคุณกำลังรวมสตริงยาวๆ เหมือนเรียงความ คุณจะต้องการบางสิ่งที่หนักหน่วงกว่านั้น เข้ามา StringBuilder
มันไม่ได้ต่อสตริงทันที แต่จะร้อยสตริงเข้าด้วยกันเมื่อถูกเรียก ช่วยประหยัดเวลาและหน่วยความจำสำหรับงานต่อสตริงขนาดใหญ่
ดูเพิ่มเติม
- เกี่ยวกับ Join
- เกี่ยวกับ Automatic Variables (ดู
$OFS
) - สำหรับข้อมูลเพิ่มเติมเกี่ยวกับการจัดรูปแบบสตริง ตรวจสอบที่ Composite Formatting.
- และถ้าคุณมีความสนใจ เรื่องละเอียดอ่อนของ StringBuilder.