แปลงสตริงเป็นตัวเล็ก

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()? สำคัญมากสำหรับผลลัพธ์ที่มีความสอดคล้องกันในภูมิภาคที่ต่างกันที่การตีความของสิ่งที่เป็น “ตัวพิมพ์เล็ก” อาจแตกต่างกัน

ดูเพิ่มเติม

สำหรับการผจญภัยอย่างละเอียดในการจัดการสตริง ดูที่ลิงก์เหล่านี้: