Joseph Philbert
Joseph Philbert

Reputation: 663

Replace a substring in Lua with a pattern

I have a string like this

     str = '["username"] = "user";
     ["deepscan"] = "true";
     ["token"] = true;
     ["password"] = "krghfkghkfghf";
     ["uploadMethod"] = "JSON";
     ["serviceIsRunning"] = {};
     ["host"] = "sample.com";
     ["instance_ID"] = 405454058;'

I would like the pattern match ["password"] = and have it replace only the string in between the ";' that would be '"krghfkghkfghf" in this instance.

Upvotes: 2

Views: 715

Answers (2)

wesleylim1993
wesleylim1993

Reputation: 51

i have same question as well, how about the following password replace ?

"password" : "krghfkghkfghf"

Upvotes: -1

W.B.
W.B.

Reputation: 5525

local function replacePass(configstr, newpass)
    return configstr:gsub("(%[\"password\"%]%s*=%s*)%b\"\"", "%1\"" .. newpass .. "\"")
end

That won't work if your password contains a double quote inside.

Upvotes: 1

Related Questions