since field5 value can generate from the values of other column values, I think you don't need to store field5 in your database.
for example
string field5 = string.Format("[pkfield:'{0}',field1:'{1}',field3:'{2}',fied4:'{3}']", pkfield,field1,field3, fied4);
will generate the string you need as field5.
Then you don't need to to complex regex or string manipulation for updating. You only need to set value of one of the column with where condition.