2010-11-28 44 views
16

Comment est-ce que je ferais ceci?Lua Chaîne remplacer

Je suis arrivé ceci:

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

qui doit retourner « Salut », mais il saisit le caractère caret comme un caractère de modèle

Quelle serait un travail autour de cela? (Doit être fait dans gsub)

+0

essayez d'utiliser: "\ ^" – pastjean

+2

Parce que^est un caractère spécial, vous devez utiliser% pour échapper à Lua. –

Répondre

27

Essayez:

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

Voir aussi: http://lua-users.org/wiki/StringLibraryTutorial

+0

Le tutoriel utilise une syntaxe légèrement différente. Pourquoi 'gsub' est-il écrit avec': 'au lieu de' .' dans cette réponse? –

+0

@AndersonGreen: il peut être appelé en tant que fonction de bibliothèque de la bibliothèque 'string' ou en tant que méthode sur un objet' string'. Le ':' est la syntaxe du sucre dans Lua qui implique effectivement l'objet sur lequel la méthode est appelée en tant que premier paramètre. – 0xC0000022L