Q:

How do I replace words in a string that matches a keywords stored in an array with data from a table?

I want to replace words in a string that matches a keywords stored in an array with data from matching column in a table.
My model is People
public class People()
{
public int Id { get; set; }
public string Title { get; set; }
public string Name { get; set; }
public string Surname { get; set; }
}

The method i have tried is :
public void ProcessString(string message)
{
 using (DBEntities db = new DBEntities())
            {
                var people = db.People.ToList();

                foreach(var person in people)
                {
                    string[] keyword = {"#Title", "#Name", "#Surname"};

                        for (int i=0; i<keyword.Length; i++)
                    {
                        string updatedString  = Regex.Replace(body, keyword[i], matchingcolumndata);

                    }

                }
}

So instead of matchingcolumndata in the  string updatedString  = Regex.Replace(body, keyword[i], matchingcolumndata); line i want to put the data that is matching the column in my table People. Please help with the question if its not straight to the point. 

A:

From my understand it may be you are looking for 
foreach(var person in people)
            {
                string[] keyword = {"#Title", "#Name", "#Surname"};
                body= body.Replace(keyword[0],person.Title);
                body= body.Replace(keyword[1],person.Name);
                body= body.Replace(keyword[2],person.Surname);
            }

