how to delete special character in a string?

Hello,
i have the following string : my_string_is_with_underscore,
i'd like to upper the first letter, and replace "_" with " ".

how to do this?
toshi_Asked:
Who is Participating?

Improve company productivity with a Business Account.Sign Up

x
 
Gyanendra SinghConnect With a Mentor ArchitectCommented:
sample code is attached

        static void Main(string[] args)
        {
            String test = "test_score";
 
            test = test.Replace("_", "");
            test = UppercaseFirstFast(test);
        }
 
        public static string UppercaseFirstFast(string name)
        {
            if (string.IsNullOrEmpty(name))
            {
                return string.Empty;
            }
            char[] letters = name.ToCharArray();
            letters[0] = char.ToUpper(letters[0]);
            return new string(letters);
        }

Open in new window

0
 
Anurag ThakurConnect With a Mentor Technical ManagerCommented:
to remove the underscore you can use the code suggested by BondInASP
string result = originalString.Replace("_", " ");

to convert the string to title case you can use the following  (copied from http://support.microsoft.com/kb/312890)

Convert a String to Title Case
The String class does not include a method that converts a string to title case. The ToTitleCase method resides in the TextInfo class, which is a member of the System.Globalization namespace. Unlike the ToUpper and ToLower methods of the String class, the ToTitleCase method is not a static method and requires an instance of the class.

When you use the TextInfo class, you must specify cultural information. In most situations, you can default to the culture that is currently in use. Culture information is a property of the thread on which the code is running. To obtain the culture information, you must gain access to the current thread and retrieve the CurrentCulture property from that thread. Once you accomplish this, you can create the TextInfo object. For example:
CultureInfo cultureInfo   = Thread.CurrentThread.CurrentCulture;
TextInfo textInfo = cultureInfo.TextInfo;
                        
The TextInfo class also includes the ToUpper and ToLower methods. Use these methods of TextInfo if you need to specify culture options.
    Console.WriteLine(textInfo.ToTitleCase(title));
    Console.WriteLine(textInfo.ToLower(title));
    Console.WriteLine(textInfo.ToUpper(title));
                        
If you need to create or manipulate strings that have specific culture settings, you can use one of the overloaded constructors of the TextInfo class to create strings with any of the available culture options.

0
 
Tony McCreathConnect With a Mentor Technical SEO ConsultantCommented:
I don't think any of the previous solutions do the upper case to each word, just the first one. This code may help
string text = "my_string_is_with_underscore";
 
string[] words = text.Split('_');
 
for (int i = 0; i < words.Length; i++)
{
    string word = words[i];
    if (word.Length > 1) // word
        words[i] = char.ToUpper(word[0]) + word.Substring(1);
    else if (word.Length > 0) // single character
        words[i] = word.ToUpper();
    // else empty string
}
 
string newText = String.Concat(words);

Open in new window

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.