Lua String заменить

Как мне это сделать?

Получил вот что:

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

который должен вернуть "Hi", но захватывает символ каретки как символ шаблона

Что можно было бы обойти для этого? (необходимо сделать в gsub)


person Frank    schedule 28.11.2010    source источник
comment
Поскольку ^ - специальный символ, вам нужно использовать%, чтобы избежать его в Lua.   -  person Huang F. Lei    schedule 30.11.2010


Ответы (1)


Пытаться:

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

См. Также: http://lua-users.org/wiki/StringLibraryTutorial

person Kknd    schedule 28.11.2010
comment
В учебнике используется немного другой синтаксис. Почему gsub написано с : вместо . в этом ответе? - person Anderson Green; 21.06.2017
comment
@AndersonGreen: его можно вызвать как библиотечную функцию библиотеки string или как метод объекта string. : - это синтаксический сахар в Lua, который фактически подразумевает, что объект, для которого вызывается метод, передается в качестве первого параметра. - person 0xC0000022L; 31.08.2017