Question

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.

Was it helpful?

Solution

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.

OTHER TIPS

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

"password" : "krghfkghkfghf"
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top