การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง

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 จะทำให้เฉพาะคำแรกเป็นตัวพิมพ์ใหญ่เท่านั้น
-- สำหรับทำให้แต่ละคำเป็นตัวพิมพ์ใหญ่ คุณยังต้องเขียนโซลูชันที่กำหนดเองหรือสำรวจไลบรารีอื่น