2010-03-11 62 views
14

Lua是否提供了一個函數來使單詞中的第一個字符大寫(如php中的ucfirst),如果是,如何使用它?第一個字符大寫Lua

我要keywords[1]爲第一個字母大寫。我讀過string.upper這樣做,但它使整個字大寫。

回答

27

有一些有用的字符串食譜here,包括這一個。要更改的第一個字符的字符串爲大寫,您可以使用:

function firstToUpper(str) 
    return (str:gsub("^%l", string.upper)) 
end 
+0

謝謝!偉大的作品 – Tomek 2010-03-11 00:31:45

+0

@GrasDouble請不要編輯其他人的代碼,除非它只是格式更改。您的編輯(刪除括號)會更改函數的行爲並使其不正確(它使該函數返回兩個值而不是一個值)。 – interjay 2017-09-24 22:06:47

+0

對不起,我剛被[這個問題](http://www.luafaq.org/gotchas.html#T8.1)(確實很危險)抓住了。 'gsub'案例甚至在本節的末尾有記錄。 – 2017-09-24 22:23:50

7

這也適用於:s:sub(1,1):upper()..s:sub(2)

+0

interjay的版本在LÖVE(love2d)中不起作用,另一方面這很好用。 – modiX 2018-01-20 01:06:55

相關問題