PowerShell: วิธีตัดสตริงให้มีความยาวเฉพาะ
บ่อยครั้งที่คุณอาจต้องการตัดสตริงใน PowerShell ให้มีความยาวเฉพาะที่ไม่ควรเกิน
คุณสามารถใช้ไวยากรณ์พื้นฐานต่อไปนี้ได้:
$my_string.Substring(0, [System.Math]::Min(12, $my_string.Length))
ตัวอย่างนี้จะตัดสตริงที่จัดเก็บไว้ในตัวแปร $my_string เพื่อให้มีความยาวไม่เกิน 12 อักขระ
หากสตริงมีอักขระน้อยกว่า 12 ตัวอยู่แล้ว ระบบจะเก็บสตริงเดิมทั้งหมดไว้
นี่คือวิธีการทำงานของไวยากรณ์นี้:
- อาร์กิวเมนต์แรกของเมธอด Substring() ระบุตำแหน่งดัชนีเริ่มต้นที่จะกลับมา
- อาร์กิวเมนต์ที่สองของเมธอด Substring() ระบุความยาวของอักขระที่จะส่งคืนหลังตำแหน่งเริ่มต้น
- โดยใช้ [System.Math]::Min(12, $my_string.Length) เราระบุว่าอาร์กิวเมนต์ความยาวควรมีค่าต่ำสุด 12 หรือเพียงความยาวของสตริงทั้งหมด
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีตัดสตริงให้มีความยาวเฉพาะใน PowerShell
สมมติว่าเรามีสตริงต่อไปนี้ใน PowerShell:
A003EmployeeGregสมมติว่าเราต้องการตัดสตริงนี้ให้มีความยาวสูงสุด 12 อักขระ
เราสามารถใช้ไวยากรณ์ต่อไปนี้เพื่อดำเนินการดังกล่าว:
$my_string = "A003EmployeeGreg"
$my_string.Substring(0, [System.Math]::Min(12, $my_string.Length))
ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
สิ่งนี้จะส่งกลับสตริงต่อไปนี้:
A003Employeeสตริงนี้มีความยาว 12 ซึ่งเป็นความยาวสูงสุดที่เราระบุ
สมมติว่าเรามีสตริงต่อไปนี้ใน PowerShell แทน:
A003Empสมมติว่าเราพยายามตัดสตริงนี้ให้มีความยาวสูงสุด 12 อักขระ
$my_string = "A003Emp"
$my_string.Substring(0, [System.Math]::Min(12, $my_string.Length))
ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
สิ่งนี้จะส่งกลับสตริงต่อไปนี้:
A003Empเนื่องจากสตริงมีความยาวน้อยกว่า 12 ตัวอักษรอยู่แล้ว สตริงจึงไม่ถูกตัดออกเลย

