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

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

วิธีการ:

ใน Lua, คุณจะลดภาระของตัวเองด้วย string.lower(). ป้อนสตริงเข้าไป, และจะได้สตริงตัวพิมพ์เล็กออกมา สังเกตดู:

local originalString = "Hello, World!"
local lowerCaseString = string.lower(originalString)
print(lowerCaseString)  -- ผลลัพธ์: hello, world!

รันตัวอย่างนี้สิ ตัวพิมพ์ใหญ่ที่ดังกล่าวกลายเป็นตัวพิมพ์เล็กที่มีระดับเสียงเบาลง

ลึกลงไป

ตั้งแต่ยุคแรกของการคอมพิวติ้ง, ทุกคนต้องการทำให้ข้อมูลข้อความมีลักษณะเป็นเนื้อเดียวกันเพื่อเหตุผลต่างๆ มากมาย, เช่น การเรียงลำดับหรือการเข้าสู่ระบบที่ไม่คำนึงถึงตัวพิมพ์ เมื่อพูดถึง Lua, string.lower() ถูกใช้งานเป็นเครื่องมือหลักตั้งแต่เริ่มต้น มันเรียบง่าย, เป็นส่วนหนึ่งของระบบ, และทำงานได้โดยไม่มีปัญหา

แต่มีอะไรอยู่ภายใต้ฝา? string.lower() ทำงานเดินผ่านแต่ละตัวอักษร, และถ้าเป็นตัวพิมพ์ใหญ่ (A ถึง Z), มันจะแปลงมัน Lua พึ่งพาค่า ASCII: ‘A’ (65) ถึง ‘Z’ (90) จะถูกเพิ่มไปเป็น ‘a’ (97) ถึง ‘z’ (122) ความแตกต่างคือ 32 ดังนั้น, lowercase = uppercase + 32

แล้วถ้า string.lower() ดูเหมือนจะธรรมดาเกินไป? คุณอาจดำเนินการเปลี่ยนผ่านตัวอักษรด้วยตนเองโดยการใช้ลูป, โดยใช้ค่า ASCII, หรือการจับคู่แบบพาลินโดรมด้วย string.gsub():

local s = "Make Me Lowercase, Please"
s = s:gsub("%u", function (upper) return string.char(upper:byte() + 32) end)
print(s)  -- ผลลัพธ์: make me lowercase, please

แต่จริงๆ แล้ว, ทำไมต้องใช้เสียงพายเรือเมื่อคุณมีเครื่องยนต์ภายนอก (อ่านว่า: string.lower())?

ดูเพิ่มเติม

ขุดลึกลงไปในการจัดการข้อความของ Lua ด้วยสิ่งที่ดีๆ เหล่านี้:

  • Programming in Lua (ฉบับที่ 4) เพื่อเจาะลึกรายละเอียดของข้อความ
  • Lua 5.4 Reference Manual เพื่อฟังก์ชั่นการจัดการสตริงที่เมื่อคุณพร้อมที่จะไปเลยไกลกว่าตัวพิมพ์เล็ก