ค้นหาเว็บไซต์

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 ตัวอักษรอยู่แล้ว สตริงจึงไม่ถูกตัดออกเลย

บทความที่เกี่ยวข้อง