แปลงตัวอักษรแรกของแต่ละคำในประโยคเป็นพิมพ์ใหญ่ (Title Case)
สตริงตัวอย่าง: "Welcome to our website!" → "Welcome To Our Website!"
อัลกอริทึม
- แปลงสตริงเป็น char array
- วนลูปตรวจสอบแต่ละตัวอักษร
- ถ้าตัวแรกของสตริง หรือ ตัวหลังช่องว่าง → แปลงเป็นพิมพ์ใหญ่
- ตัวอักษรอื่นในคำ → แปลงเป็นพิมพ์เล็ก
ตัวอย่างโค้ดเต็ม
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());