Quickly Replace Data in a String Array using LINQ

LINQ is amazingly flexible. Recently, I came across a client requirement where the client wanted to replace all '@' characters in emails with the text [attherate]. Here's how it can be done easily using LINQ. The same can also be done by looping through the array and replacing it, but LINQ gives you a lot of flexibility in filtering the data.

C#


        string[] emails = { "Shakiy@gmail.com", "Mary@hotmail.com", "Glenn@gmail.com", "Hillock@yahoo.com"};


 


        var modEmail = from em in emails


                           select new


                           {


                               EmailID = em,


                               ModifiedEmail = Regex.Replace(em, "[@]", "[attherate]")


                           };


 


        foreach (var mo in modEmail)


        {


            Response.Write(mo.ToString() + "<br/>");


        }




VB.NET


Private emails() As String = {"Shakiy@gmail.com", "Mary@hotmail.com", "Glenn@gmail.com", "Hillock@yahoo.com"}


 


var modEmail = from em in emails ReadOnly Property [New]() As select


                       em, ModifiedEmail = Regex.Replace(em, "[@]", "[attherate]")


                       EmailID = em, ModifiedEmail


End Property


 


For Each mo In modEmail


    Response.Write(mo.ToString() & "<br/>")


Next mo


3 comments:

  1. Do you have a find and replace or is that still done in the select query part.

    e.g. I have a datarow in DataTable (or string) but I want to replace "<" to "<" & ">" to ">", etc.

    thanks,

    George.

    ReplyDelete
  2. string[] emails = { "Shakiy@gmail.com", "Mary@hotmail.com", "Glenn@gmail.com", "Hillock@yahoo.com" };
    var newmodEmail = emails.Select(x => new { EmailID = x, ModifiedEmail = Regex.Replace(x, "[@]", "[attherate]") });
    Array.ForEach(newmodEmail.ToArray(), Console.WriteLine);

    ReplyDelete
  3. dear Sir
    I have Page1.aspx with DIV
    i am calling Page2.aspx with jQuery Load and Loading in DIV
    Page2.aspx has Button..when I click on button page1 vanishes please guide

    ReplyDelete