Need help with a couple of regex and replacement string

1.      DisplayName:  I want to add a space after the comma for example: Doe,john  This should be Doe, John
2.      Telephone:  I want it formatted as “(323) 442-2455”, not as “+1 323 442 2455”

I need help with the regex for the above 2 and then the Replacement string for Regex.Replace method.  Thank you.

lapuccaAsked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Terry WoodsConnect With a Mentor IT GuruCommented:
I think this is the C# syntax:
  myResult = Regex.Replace(myString,@",(?!\s)",", ");
  myResult = Regex.Replace(myString,@"^\+\d\s?(\d{3})\s?(\d{3})\s?(\d{4})","($1) $2-$3");
0
 
Terry WoodsIT GuruCommented:
1.
Find pattern:
,(?!\s)
and replace with
,
The comma on the previous line has a space after it. Note that the negative lookahead (?!\s) prevents a space being added if the comma already has a space after it.
0
 
Terry WoodsIT GuruCommented:
2.
Find pattern "^\+\d\s?(\d{3})\s?(\d{3})\s?(\d{4})"
And replace with:
($1) $2-$3
0
What Kind of Coding Program is Right for You?

There are many ways to learn to code these days. From coding bootcamps like Flatiron School to online courses to totally free beginner resources. The best way to learn to code depends on many factors, but the most important one is you. See what course is best for you.

 
lapuccaAuthor Commented:
So, using http://msdn.microsoft.com/en-us/library/e7f5w83z.aspx 
I'm not sure what to put for the replacement string for the Regex.Replace method though.  I mean what to put there so it would keep all the name's text and also adding that needed space after the comman?  Thanks.
0
 
lapuccaAuthor Commented:
Terry, where can I find information on what is this $1, $2, $3.....  Is this grouping in regex?
0
 
Terry WoodsIT GuruCommented:
Yes, it refers back to the 1st, 2nd and 3rd groups defined by the round brackets in the pattern.
0
 
lapuccaAuthor Commented:
Ok, I can see that for the phone number.  However, I'm still not able to see that for the display name where I want to add a space where there isn't one.  The replacement string only has ", ".  That doesn't seem right, does it?
0
 
Terry WoodsIT GuruCommented:
Yes - you're replacing a [comma without a space after it] with [a comma with a space after it]
0
 
lapuccaAuthor Commented:
What about the rest of the Displayname's text?  Are you saying it only replaces the comman? so if i have this :
Mystring = "Doe,John";
Regext.Relace(Mystring, ",@",(?!\s)",", ");
now Mystring would contian "Doe, John"?
0
 
Terry WoodsIT GuruCommented:
Yes, that's right.
0
 
Terry WoodsIT GuruCommented:
Except there's an error in your code. It should be:
Regext.Relace(Mystring, @",(?!\s)",", ");
0
 
lapuccaAuthor Commented:
Thank you.
0
 
Terry WoodsIT GuruCommented:
Correction!
Regex.Replace(Mystring, @",(?!\s)",", ");
0
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.

All Courses

From novice to tech pro — start learning today.