string1 = '{"secret1":"one","secret2":"two","secret3":"three"}'
string2 = {"secret"}
for i, val in pairs(string2) do
string1 = string1:gsub("(\"[^\"]*" .. val .. "[^\"]*\":\")[^\"]*", "%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"}
c3RyaW5nMSA9ICd7InNlY3JldDEiOiJvbmUiLCJzZWNyZXQyIjoidHdvIiwic2VjcmV0MyI6InRocmVlIn0nCnN0cmluZzIgPSB7InNlY3JldCJ9CmZvciBpLCB2YWwgaW4gcGFpcnMoc3RyaW5nMikgZG8KICAgIHN0cmluZzEgPSBzdHJpbmcxOmdzdWIoIihcIlteXCJdKiIgLi4gdmFsIC4uICJbXlwiXSpcIjpcIilbXlwiXSoiLCAiJTFzb21lX251bWJlciIpCmVuZApwcmludChzdHJpbmcxKQotLUN7InNlY3JldDMiOiJzb21lX251bWJlciIsInNlY3JldDMiOiJzb21lX251bWJlciIsInNlY3JldDMiOiJzb21lX251bWJlciJ9Ci0tRXsic2VjcmV0MSI6InNvbWVfbnVtYmVyIiwic2VjcmV0MiI6InNvbWVfbnVtYmVyIiwic2VjcmV0MyI6InNvbWVfbnVtYmVyIn0=