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# นั้นเพียงพอและมีประสิทธิภาพ ไม่จำเป็นต้องพึ่งพาส่วนประกอบภายนอก