Lua:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง
วิธีการ:
Lua ไม่มีฟังก์ชั่นในตัวสำหรับทำให้สตริงเป็นตัวพิมพ์ใหญ่ แต่คุณสามารถทำภารกิจนี้ได้อย่างง่ายดายโดยใช้ฟังก์ชั่นการจัดการสตริงพื้นฐาน นี่คือฟังก์ชั่นง่ายๆ ที่จะทำให้ตัวอักษรแรกของคำเดียวเป็นตัวพิมพ์ใหญ่:
function capitalize(word)
return word:sub(1,1):upper() .. word:sub(2):lower()
end
print(capitalize("hello")) -- ผลลัพธ์: Hello
เพื่อทำให้แต่ละคำในประโยคเป็นตัวพิมพ์ใหญ่ คุณสามารถแบ่งประโยคออกเป็นคำต่างๆ ทำให้แต่ละคำเป็นตัวพิมพ์ใหญ่ และจากนั้นรวมกลับเป็นประโยค:
function capitalizeSentence(sentence)
local words = {}
for word in sentence:gmatch("%S+") do
table.insert(words, capitalize(word))
end
return table.concat(words, " ")
end
print(capitalizeSentence("hello world from lua")) -- ผลลัพธ์: Hello World From Lua
หากคุณกำลังทำโปรเจ็กต์ที่ประสิทธิภาพเป็นสำคัญและคุณพบว่าตนเองต้องการความสามารถในการจัดการสตริงแบบขั้นสูง พิจารณาใช้ไลบรารีภายนอกเช่น Penlight
Penlight ช่วยเพิ่มความสามารถของ Lua ด้วยฟังก์ชั่นการจัดการสตริงที่หลากหลายยิ่งขึ้น พร้อมกับยูทิลิตี้อื่นๆ:
-- ถ้ากำหนดว่า Penlight ถูกติดตั้งแล้ว:
local pl = require("pl.stringx")
local text = "hello lua users"
text = pl.capitalized(text)
print(text) -- ผลลัพธ์: Hello lua users
-- หมายเหตุ: ฟังก์ชั่น capitalized ของ Penlight จะทำให้เฉพาะคำแรกเป็นตัวพิมพ์ใหญ่เท่านั้น
-- สำหรับทำให้แต่ละคำเป็นตัวพิมพ์ใหญ่ คุณยังต้องเขียนโซลูชันที่กำหนดเองหรือสำรวจไลบรารีอื่น