PowerShell: วิธีใช้ตัวพิมพ์เล็กประกอบด้วย()
ตามค่าเริ่มต้น เมธอด Contains() ใน PowerShell คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
อย่างไรก็ตาม คุณสามารถใช้เมธอด ToLower() ใน PowerShell เพื่อตรวจสอบว่าออบเจ็กต์มีสตริงเฉพาะหรือไม่โดยใช้การจับคู่ที่ไม่คำนึงถึงขนาดตัวพิมพ์:
$some_strings.ToLower().Contains("MY_STRING".ToLower())
ตัวอย่างนี้จะตรวจสอบว่าสตริง “MY_STRING” มีอยู่ในอาร์เรย์ของสตริงชื่อ $some_strings หรือไม่ โดยใช้การจับคู่ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
ตัวอย่างต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ
ตัวอย่าง: วิธีใช้ประกอบด้วย() ที่ไม่คำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่ใน PowerShell
สมมติว่าเราสร้างอาร์เรย์ของสตริงต่อไปนี้ใน PowerShell ชื่อ $teams:
$teams = @("Mavs", "Lakers", "Nuggets", "Warriors", "Kings")
สมมติว่าเราพยายามใช้เมธอด Contains() ด้วยไวยากรณ์ต่อไปนี้เพื่อตรวจสอบว่าอาร์เรย์นี้มีสตริง “LAKERS” หรือไม่:
$teams.Contains("LAKERS")
ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
คืนค่า False เนื่องจากสตริง “LAKERS” ไม่ตรงกับชื่อทีมทุกกรณีในอาร์เรย์ $teams
หากต้องการดำเนินการ Contains() โดยไม่คำนึงถึงขนาดตัวพิมพ์ เราต้องใช้เมธอด ToLower() เพื่อแปลงสตริงทั้งหมดในอาร์เรย์เป็นตัวพิมพ์เล็กก่อน และแปลงสตริงที่เราค้นหา เป็นตัวพิมพ์เล็กเช่นกัน:
$teams.ToLower().Contains("LAKERS".ToLower())
ภาพหน้าจอต่อไปนี้แสดงวิธีใช้ไวยากรณ์นี้ในทางปฏิบัติ:
ค่านี้ส่งคืน True เนื่องจากสตริง “LAKERS” มีอยู่ในอาร์เรย์ชื่อทีม ไม่ว่าตัวพิมพ์จะตรงกันหรือไม่ก็ตาม

