• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 403
  • Last Modified:

Regular Expression Search/Replace in ASP.NET

Hello and thanks in advance for any assistance.

I have an ASP.NET application that sends emails out. I have a static HTML template with variable identifiers which look like this: %%VariableData%%

When an email gets sent, all the variables in the template are simply replaced using a String.Replace function.

My problem is that using the "%%.*%%' regular expression it will find things like this: %%strSchoolURL%%/Login.aspx?Email=%%strEmailAddress%% as one big variable instead of finding one instance of %%strSchoolURL%% and one instance of %%strEmailAddress%%.

I'm thinking it's just a matter of fine tuning the regular expression.

Any hints would be greatly appreciated.
String valueRegex = @"%%.*%%";
strEmailText = // Read in static .html text
// Define a regular expression for repeated words.
Regex rx = new Regex(@"%%.*%%", RegexOptions.Compiled | RegexOptions.IgnoreCase);
                if (Regex.IsMatch(strEmailText, valueRegex))
                    // Find matches.
                    MatchCollection matches = rx.Matches(strEmailText);
                    foreach (Match match in matches)
                        GroupCollection groups = match.Groups;
                        //replace variables in the email text with values from DB
                        #region Switch Cases
                        switch (groups.SyncRoot.ToString())
                            case "%%strSchoolContact%%":
                                    replacementText = ds.Tables[0].Rows[0]["strSchoolContact"].ToString();
                                    strEmailText = strEmailText.Replace("%%strSchoolContact%%", replacementText);
// etc, etc for every defined variable element

Open in new window

  • 2
1 Solution
Try this:
ViceroyFizzlebottomAuthor Commented:
*sigh* can't believe I brain cramped on that. Thanks for the quick response.
Thanks for the question and the points.
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

Join & Write a Comment

Featured Post

Free Tool: IP Lookup

Get more info about an IP address or domain name, such as organization, abuse contacts and geolocation.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

  • 2
Tackle projects and never again get stuck behind a technical roadblock.
Join Now