2010-03-11 74 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

相关问题