Converting string to initial caps: my_field_name

I'm retrieving a fieldname from a table and want to convert it to initial caps and remove the underscore like so:

my_field_name
to
MyFieldName

How do I do that? I'm using vb.net but C# is fine if that is all you know.

thanks!
LVL 2
Starr DuskkASP.NET VB.NET DeveloperAsked:
Who is Participating?
 
PaulHewsConnect With a Mentor Commented:
Try this function:
    Private Function ConvertFieldName(Name As String) As String
        Return StrConv(Name.Replace("_", " "), VbStrConv.ProperCase).Replace(" ", String.Empty)
    End Function

Open in new window

0
 
nepaluzCommented:
or even
Private Function ConvertFieldName(Name As String) As String
    Return StrConv(Name.Replace("_", String.Empty), VbStrConv.ProperCase)
End Function

Open in new window

0
 
PaulHewsCommented:
nepaluz,

Not quite as that returns "Myfieldname" not "MyFieldName"
0
 
BuggyCoderCommented:
Here is the code for you:-

private static string ToTitleCase(string text, char splitCharacter)
        {
            var txtInfo = new CultureInfo("en-US", false).TextInfo;
            var builder = new StringBuilder();

            text.Split(splitCharacter).ToList().ForEach(s => builder.Append(txtInfo.ToTitleCase(s)));
            return builder.ToString();
        }

Open in new window


Here is how to use this:-

string test = "my_field_name";
ToTitleCase(test,'_');

Open in new window

Add the following namespace:-
using System.Globalization;
0
 
Starr DuskkASP.NET VB.NET DeveloperAuthor Commented:
Perfect!
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.