Switch Text Case: From Lowercase to Uppercase and Vice-Versa

Are you curious about how to transform a string by switching lowercase characters to uppercase and vice-versa? You’re in the right place! Whether you’re venturing into coding for the first time or honing your skills, learning to replace lowercase characters by uppercase and vice-versa is both a fun and practical exercise. Not only will this simple yet important concept help you better understand string manipulation, but it will also prepare you for more complex programming challenges down the road. So, let’s dive in and explore how we can easily master this interesting task. Keep reading to unlock the magic of character transformation!

Understanding Character Cases in C#

ASCII Values and Character Cases

Every character in C# (and most programming languages) is represented internally by a numeric value based on the ASCII (American Standard Code for Information Interchange) system.

  • Lowercase letters (‘a’ to ‘z’) have ASCII values 97 to 122.
  • Uppercase letters (‘A’ to ‘Z’) have ASCII values 65 to 90.

The difference between uppercase and lowercase letters is 32. This means:

  • Converting a lowercase letter to uppercase can be done by subtracting 32 from its ASCII value.
  • Converting an uppercase letter to lowercase can be done by adding 32 to its ASCII value.

For example:

  • ‘A’ (ASCII 65) + 32 → ‘a’ (ASCII 97)
  • ‘z’ (ASCII 122) – 32 → ‘Z’ (ASCII 90)

C# Methods for Case Conversion

C# provides built-in methods for case conversion to simplify these operations:

  1. char.ToUpper()
    Converts a lowercase character to uppercase. char lower = 'b'; char upper = char.ToUpper(lower); // 'B' Console.WriteLine(upper);
  2. char.ToLower()
    Converts an uppercase character to lowercase. char upper = 'G'; char lower = char.ToLower(upper); // 'g' Console.WriteLine(lower);
  3. string.ToUpper() and string.ToLower()
    These methods convert an entire string to uppercase or lowercase. string text = "Hello World"; string upperText = text.ToUpper(); // "HELLO WORLD" string lowerText = text.ToLower(); // "hello world" Console.WriteLine(upperText); Console.WriteLine(lowerText);

By using these built-in methods, developers can efficiently perform case conversions without manually manipulating ASCII values.

Implementing the Case Conversion Program in C#

1. Reading User Input

We first take input from the user using Console.ReadLine(), which allows us to read a string from the console.

Console.Write("Enter a string: ");
string input = Console.ReadLine();

2. Iterating Through the String

We loop through each character of the string using a for loop and check whether it is uppercase or lowercase.

char[] convertedChars = new char[input.Length];

for (int i = 0; i < input.Length; i++)
{
    char c = input[i];
    
    // Convert case accordingly
    if (char.IsLower(c))
        convertedChars[i] = char.ToUpper(c);
    else if (char.IsUpper(c))
        convertedChars[i] = char.ToLower(c);
    else
        convertedChars[i] = c; // Keep other characters unchanged
}

3. Constructing the New String

Once we process each character, we create a new string using the modified character array and display the result.

string result = new string(convertedChars);
Console.WriteLine("Converted string: " + result);

Complete C# Code

using System;

class Program
{
    static void Main()
    {
        // Step 1: Read user input
        Console.Write("Enter a string: ");
        string input = Console.ReadLine();

        // Step 2: Initialize a character array to store converted characters
        char[] convertedChars = new char[input.Length];

        // Step 3: Iterate through each character and convert case
        for (int i = 0; i < input.Length; i++)
        {
            char c = input[i];
            if (char.IsLower(c))
                convertedChars[i] = char.ToUpper(c);
            else if (char.IsUpper(c))
                convertedChars[i] = char.ToLower(c);
            else
                convertedChars[i] = c; // Keep non-alphabet characters unchanged
        }

        // Step 4: Construct new string from modified character array
        string result = new string(convertedChars);

        // Step 5: Display the converted string
        Console.WriteLine("Converted string: " + result);
    }
}

Example Output

Enter a string: Hello World 123!
Converted string: hELLO wORLD 123!

This program efficiently reads a string from the user, checks each character, converts its case accordingly, and constructs a new string with the transformed characters.

Simple Code to Swap Lowercase and Uppercase Characters

csharp
using System;

class Program
{
    static void Main()
    {
        Console.WriteLine("Enter the text: ");
        string input = Console.ReadLine();
        string result = ConvertCase(input);
        Console.WriteLine("Converted text: " + result);
    }

    static string ConvertCase(string str)
    {
        char[] charArray = str.ToCharArray();
        for (int i = 0; i < charArray.Length; i++)
        {
            if (char.IsLower(charArray[i]))
                charArray[i] = char.ToUpper(charArray[i]);
            else if (char.IsUpper(charArray[i]))
                charArray[i] = char.ToLower(charArray[i]);
        }
        return new string(charArray);
    }
}
  

Explanation of the Code

Let’s dive into how this C# code works to ‘Replace lowercase character by uppercase and vice-verse’:


  1. The program starts by prompting the user to enter text using Console.WriteLine("Enter the text: ");. This text is then read and stored in the variable input using Console.ReadLine();.

  2. The ConvertCase method is called with input as the argument. Inside this method, the input string is converted to a character array charArray.

  3. A for loop iterates through charArray. If a character is lowercase, it’s converted to uppercase with char.ToUpper. Conversely, uppercase letters are changed to lowercase using char.ToLower.

  4. Finally, the modified character array is transformed back into a string using new string(charArray). This new string, now containing the converted case characters, is stored in result and printed.

Output

Enter the text: 
[User Input: Example]
Converted text: eXAMPLE

Practical Uses of Changing Case in Real Life

In many real-life scenarios, the idea to replace lowercase character by uppercase and vice-verse is employed to solve specific problems efficiently. Let’s explore how some companies or brands have used this simple yet practical concept:


  1. Data Normalization in E-Commerce:
    To keep data consistent, many e-commerce platforms convert text fields, like customer reviews and product descriptions, into a consistent format. By replacing lowercase characters with uppercase and vice-verse, data entry variations are minimized, ensuring uniformity across platforms and making data analytics more accurate.

  2. Brand Identity Matching in Social Media:
    When handling brand mentions across social media, some platforms transform all mentions into one case. This helps in identifying the brand more consistently, regardless of how users type it. Whether users tweet in all caps or no caps, the system can quickly unify these mentions for streamlined reporting.

  3. User Experience Enhancement in Mobile Apps:
    Mobile apps, especially those involving heavy data input like forms or search queries, often offer automatic case conversion. By replacing lowercase with uppercase and vice-verse, user input is standardized, making it easier to process and reducing potential data mismatch errors.

  4. Accessibility Features for Impaired Users:
    Some accessibility apps offer features that replace lowercase characters by uppercase and vice-verse to ensure ease of text comprehension for certain visual impairments. This conversion can significantly enhance readability for those who struggle to discern certain text cases.


These examples illustrate how transforming text cases can solve everyday challenges, augment efficiency, and enhance user experience.

Test Your Skills: Quiz on Replacing Lowercase with Uppercase and Vice-Versa


  1. How do you swap the case of a string ‘Hello123’? (Python):

    a) ‘hELLO123’
    b) ‘HELLO123’
    c) ‘hello123’
  2. Which Python method converts lowercase to uppercase and vice-versa?

    a) lower()
    b) swapcase()
    c) upper()

  3. If myString = ‘cOdInG’, what will myString.swapcase() return?

    a) ‘coding’
    b) ‘CoDinG’
    c) ‘CoDiNg’




  4. True or False: The swapcase method also affects numbers in a string.

    a) True
    b) False

  5. What will be the result of applying swapcase() to the string ‘Python3.9’?

    a) ‘pYTHON3.9’
    b) ‘PYTHON3.9’
    c) ‘python3.9’
In preparing these questions, the aim was to ensure that the audience thoroughly grasps the concept of swapping the case of characters effortlessly. The questions are designed to challenge and reinforce the understanding of how ‘Replace lowercase character by uppercase and vice-verse’ works within different programming contexts, especially in Python. Happy coding!


Our AI-powered csharp online compiler is a game-changer for coding enthusiasts. It lets you instantly write, run, and test your C# code. With our seamless platform, the daunting task of coding becomes an easy and engaging experience!

Conclusion

In conclusion, mastering the skill to replace lowercase character by uppercase and vice-verse can significantly enhance your coding capabilities. It’s a fundamental yet powerful technique. For more insights and coding tutorials, explore Newtum. Dive deeper into coding, and continue learning!

Edited and Compiled by

This blog was compiled and edited by @rasikadeshpande, who has over 4 years of experience in content creation. She’s passionate about helping beginners understand technical topics in a more interactive way.

About The Author