PowerShell:
แปลงสตริงเป็นตัวเล็ก
วิธีทำ:
PowerShell มีความสามารถในการจัดการกับสตริงได้อย่างดี เราใช้เมธอด .ToLower()
ดังนี้:
$string = "HELLO, World!"
$lowerCaseString = $string.ToLower()
$lowerCaseString
ผลลัพธ์:
hello, world!
หรือลองใช้เมธอด ToLowerInvariant()
เมื่อความเป็นสากลไม่ควรมีผลต่อการแปลง:
$string = "HELLO, World!"
$lowerCaseInvariant = $string.ToLowerInvariant()
$lowerCaseInvariant
ผลลัพธ์:
hello, world!
ลงลึก
มีครั้งหนึ่งที่การไม่แยกตัวพิมพ์ใหญ่เล็กนั้นทั่วไปมากในภาษาโปรแกรม ใน PowerShell ที่มีรากฐานมาจาก .NET, สตริงเป็นออบเจกต์ที่มีเมธอดในตัวสำหรับการจัดการ เมื่อเราใช้ .ToLower()
เรากำลังเรียกใช้เมธอดที่จัดการการแปลงให้เรา
มีวิธีอื่นในการทำสิ่งนี้หรือไม่? แน่นอน คุณสามารถใช้:
- ลูป
for
โดยเข้าไปที่แต่ละอักขระ และเปลี่ยนตัวพิมพ์ด้วยตนเอง - Regular Expressions ผ่านฟังก์ชัน
-replace
- การแปลงที่เฉพาะเจาะจงต่อวัฒนธรรมโดยใช้รูปแบบโอเวอร์โหลดของ
.ToLower()
ทำไมต้องใช้วัฒนธรรมที่ไม่แปรผันด้วย ToLowerInvariant()
? สำคัญมากสำหรับผลลัพธ์ที่มีความสอดคล้องกันในภูมิภาคที่ต่างกันที่การตีความของสิ่งที่เป็น “ตัวพิมพ์เล็ก” อาจแตกต่างกัน
ดูเพิ่มเติม
สำหรับการผจญภัยอย่างละเอียดในการจัดการสตริง ดูที่ลิงก์เหล่านี้: