Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> C#

โปรแกรม C# แปลงตัวอักษรแรกของแต่ละคำเป็นพิมพ์ใหญ่

แปลงตัวอักษรแรกของแต่ละคำในประโยคเป็นพิมพ์ใหญ่ (Title Case)

สตริงตัวอย่าง: "Welcome to our website!" → "Welcome To Our Website!"

อัลกอริทึม

  1. แปลงสตริงเป็น char array
  2. วนลูปตรวจสอบแต่ละตัวอักษร
  3. ถ้าตัวแรกของสตริง หรือ ตัวหลังช่องว่าง → แปลงเป็นพิมพ์ใหญ่
  4. ตัวอักษรอื่นในคำ → แปลงเป็นพิมพ์เล็ก

ตัวอย่างโค้ดเต็ม

using System;
class Demo {
    static String MyApplication(String str) {
        char[] val = str.ToCharArray();
        for (int i = 0; i < str.Length; i++) {
            // ตัวแรกของสตริง หรือ ตัวหลัง space
            if (i == 0 && val[i] != ' ' || val[i] != ' ' && val[i - 1] == ' ') {
                if (val[i] >= 'a' && val[i] <= 'z') {
                    val[i] = (char)(val[i] - 'a' + 'A');
                }
            } else if (val[i] >= 'A' && val[i] <= 'Z') {
                val[i] = (char)(val[i] + 'a' - 'A');
            }
        }
        return new String(val);
    }
    public static void Main() {
        String str = "Welcome to our website!";
        Console.Write(MyApplication(str));
    }
}

ผลลัพธ์

Welcome To Our Website!

วิธีทางเลือก (ใช้ TextInfo):

using System.Globalization;
TextInfo textInfo = new CultureInfo("en-US", false).TextInfo;
string result = textInfo.ToTitleCase(str.ToLower());