string1 = '{secret1:one,secret2:two,secret3:three}'
string2 = {"secret"}
for i, val in pairs(string2) do
string1 = string1:gsub("([_%w]*" .. val .. "[_%w]*:)[%w_]*", "%1some_number")
end
print(string1)
--C{"secret3":"some_number","secret3":"some_number","secret3":"some_number"}
--E{"secret1":"some_number","secret2":"some_number","secret3":"some_number"}
c3RyaW5nMSA9ICd7c2VjcmV0MTpvbmUsc2VjcmV0Mjp0d28sc2VjcmV0Mzp0aHJlZX0nCnN0cmluZzIgPSB7InNlY3JldCJ9CmZvciBpLCB2YWwgaW4gcGFpcnMoc3RyaW5nMikgZG8KICAgIHN0cmluZzEgPSBzdHJpbmcxOmdzdWIoIihbXyV3XSoiIC4uIHZhbCAuLiAiW18ld10qOilbJXdfXSoiLCAiJTFzb21lX251bWJlciIpCmVuZApwcmludChzdHJpbmcxKQotLUN7InNlY3JldDMiOiJzb21lX251bWJlciIsInNlY3JldDMiOiJzb21lX251bWJlciIsInNlY3JldDMiOiJzb21lX251bWJlciJ9Ci0tRXsic2VjcmV0MSI6InNvbWVfbnVtYmVyIiwic2VjcmV0MiI6InNvbWVfbnVtYmVyIiwic2VjcmV0MyI6InNvbWVfbnVtYmVyIn0=