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

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” มีอยู่ในอาร์เรย์ชื่อทีม ไม่ว่าตัวพิมพ์จะตรงกันหรือไม่ก็ตาม

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