2010-03-11 16 views
14

Bietet Lua eine Funktion, um das erste Zeichen in einem Wort Großbuchstaben zu machen (wie zB zuerst in PHP) und wenn ja, wie benutzt man es?Erstes Zeichen Großbuchstabe Lua

Ich möchte keywords[1] als erster Buchstabe Großbuchstaben sein. Ich habe gelesen, dass string.upper es tut, aber es machte das ganze Wort Großbuchstaben.

Antwort

27

Es gibt einige nützliche String-Rezepte here, einschließlich dieser. Um das erste Zeichen in einer Zeichenfolge zu ändern in Großbuchstaben, können Sie verwenden:

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

Dank! Works great – Tomek

+0

@GrasDouble Bitte bearbeiten Sie nicht den Code anderer Leute, es sei denn, es ist nur eine Änderung der Formatierung. Ihre Bearbeitung (Entfernen der Klammern) ändert das Verhalten der Funktion und macht sie unkorrekt (die Funktion gibt zwei Werte statt einer zurück). – interjay

+0

Entschuldigung, ich wurde gerade von [diesem Gotcha] (http://www.luafaq.org/gotchas.html#T8.1) erwischt (in der Tat gefährlich). Der Fall "gsub" ist insbesondere am Ende des Abschnitts dokumentiert. –

7

Dies funktioniert auch: s:sub(1,1):upper()..s:sub(2)

+0

interjay's Version hat in LÖVE (love2d) nicht funktioniert, das funktioniert aber prima. – modiX

Verwandte Themen