การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง

C#:
การทำให้ตัวอักษรเป็นตัวพิมพ์ใหญ่ในสตริง

วิธีการ:

C# มีวิธีการที่ตรงไปตรงมาในการทำให้สตริงเป็นตัวพิมพ์ใหญ่โดยใช้เมธอดที่มีอยู่ในตัว วิธีที่ง่ายที่สุดในการทำสิ่งนี้คือการแก้ไขสตริงโดยตรงด้วยเมธอดเหล่านี้ สำหรับกฎการทำให้เป็นตัวพิมพ์ใหญ่ที่ซับซ้อนหรือเฉพาะเจาะจงมากขึ้น (เช่น ทำให้ตัวแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่), อาจจำเป็นต้องใช้ไลบรารีเพิ่มเติมหรือเมธอดด้วยตนเอง ด้านล่างเป็นตัวอย่างที่สาธิตวิธีการทำให้สตริงเป็นตัวพิมพ์ใหญ่ใน C# ด้วยวิธีต่างๆ

ทำตัวพิมพ์ใหญ่พื้นฐาน:

เพื่อทำให้ตัวอักษรแรกของคำเดียวหรือประโยคเป็นตัวพิมพ์ใหญ่:

string originalString = "hello world";
string capitalizedString = char.ToUpper(originalString[0]) + originalString.Substring(1);
Console.WriteLine(capitalizedString); // ผลลัพธ์: "Hello world"

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

สำหรับทำให้ตัวอักษรแรกของแต่ละคำในสตริงเป็นตัวพิมพ์ใหญ่ คุณสามารถใช้เมธอด TextInfo.ToTitleCase ที่พบในเนมสเปซ System.Globalization:

using System;
using System.Globalization;

string originalString = "hello world";
TextInfo textInfo = CultureInfo.CurrentCulture.TextInfo;
string capitalizedString = textInfo.ToTitleCase(originalString);
Console.WriteLine(capitalizedString); // ผลลัพธ์: "Hello World"

หมายเหตุ: ToTitleCase ไม่ได้เปลี่ยนตัวอักษรที่เหลือให้เป็นตัวพิมพ์เล็กลง; มันเพียงแค่เปลี่ยนให้ตัวอักษรแรกของแต่ละคำเป็นตัวพิมพ์ใหญ่ เช่นกัน คำบางคำตามกฎของการใช้ตัวพิมพ์ใหญ่ (เช่น “and”, “or”, “of”) อาจจะไม่ถูกทำให้เป็นตัวพิมพ์ใหญ่ขึ้นอยู่กับการตั้งค่าวัฒนธรรม

ใช้เมธอดส่วนขยายเพื่อความสามารถในการใช้งานซ้ำ:

คุณสามารถสร้างเมธอดส่วนขยายสำหรับคลาส string เพื่อทำให้กระบวนการทำให้แคปิตอลไลซ์ง่ายขึ้น ทำให้โค้ดของคุณสะอาดและสามารถใช้ซ้ำได้มากขึ้น นี่คือวิธีการสร้างและใช้เมธอดดังกล่าว:

using System;

public static class StringExtensions
{
    public static string Capitalize(this string input)
    {
        if (string.IsNullOrEmpty(input))
        {
            return input;
        }
        return char.ToUpper(input[0]) + input.Substring(1);
    }
}

class Program
{
    static void Main(string[] args)
    {
        string originalString = "hello world";
        string capitalizedString = originalString.Capitalize();
        Console.WriteLine(capitalizedString); // ผลลัพธ์: "Hello world"
    }
}

เมธอดส่วนขยายนี้ Capitalize สามารถเรียกใช้กับอ็อบเจกต์สตริงใดๆ ภายในเนมสเปซ นำเสนอวิธีการที่เข้าใจง่ายและเน้นการจัดการอ็อบเจกต์ในการควบคุมสตริงใน C#

ไลบรารีบุคคลที่สาม:

ในขณะที่ไลบรารีมาตรฐานของ C# ครอบคลุมความต้องการส่วนใหญ่สำหรับการทำให้สตริงเป็นตัวพิมพ์ใหญ่ งานเฉพาะทางบางอย่างอาจได้รับประโยชน์จากไลบรารีบุคคลที่สาม เช่น Humanizer อย่างไรก็ตาม สำหรับงานในการทำให้สตริงหรือแต่ละคำในสตริงเป็นตัวพิมพ์ใหญ่ วิธีการมาตรฐานของ C# นั้นเพียงพอและมีประสิทธิภาพ ไม่จำเป็นต้องพึ่งพาส่วนประกอบภายนอก