2010-11-28 8 views
16

Wie würde ich das tun?Lua String ersetzen

Ich habe dies:

 
name = "^aH^ai" 
string.gsub(name, "^a", "") 

, die „Hallo“ zurückgeben sollte, aber es packt den Caretzeichen als Musterzeichen

Was für eine Arbeit um für dieses sein würde? (Muss in gsub erfolgen)

+0

versuchen Sie es mit: "\ ^" – pastjean

+2

Weil^ein spezielles Zeichen ist, müssen Sie% verwenden es zu entkommen in Lua. –

Antwort

27

Versuchen:

name = "^aH^ai" 
name = name:gsub("%^a", "") 

Siehe auch: http://lua-users.org/wiki/StringLibraryTutorial

+0

Das Lernprogramm verwendet eine etwas andere Syntax. Warum wird "gsub" in dieser Antwort mit einem '' anstelle eines '.' geschrieben? –

+0

@AndersonGreen: Es kann als Bibliotheksfunktion der 'string' Bibliothek oder als Methode für ein' string' Objekt aufgerufen werden. Das ':' ist Syntax Sugar in Lua, was impliziert, dass das Objekt, an dem die Methode aufgerufen wird, als erster Parameter übergeben wird. – 0xC0000022L