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

การตัดช่องว่างนำหน้าและท้ายสตริงใน C# (Trim)

ใน C# มีเมธอด Trim() สำหรับตัดช่องว่าง (Whitespace) นำหน้าและท้ายสตริงโดยตรง ไม่จำเป็นต้องใช้ Regular Expression

วิธีการใช้งานพื้นฐาน

string input = "  Welcome User  ";
string trimmed = input.Trim(); // ผลลัพธ์: "Welcome User"

เมธอดที่เกี่ยวข้อง

เมธอดคำอธิบาย
Trim()ตัดช่องว่างทั้งนำหน้าและท้าย
TrimStart()ตัดช่องว่างเฉพาะนำหน้า
TrimEnd()ตัดช่องว่างเฉพาะท้าย
Trim(char[])ตัดอักขระที่ระบุทั้งนำหน้าและท้าย

ตัวอย่างครบถ้วน

using System;

class Program {
    static void Main() {
        string input = "  Welcome User  ";
        
        Console.WriteLine("ต้นฉบับ: '{0}'", input);
        Console.WriteLine("Trim(): '{0}'", input.Trim());
        Console.WriteLine("TrimStart(): '{0}'", input.TrimStart());
        Console.WriteLine("TrimEnd(): '{0}'", input.TrimEnd());
        
        // ตัดอักขระเฉพาะตัว
        string data = "***Hello***";
        Console.WriteLine("Trim('*'): '{0}'", data.Trim('*'));
        
        Console.ReadKey();
    }
}

หมายเหตุเกี่ยวกับ Regular Expression

บทความต้นฉบับแนะนำให้ใช้ Regex ซึ่งทำได้แต่ซับซ้อนกว่าจำเป็น:

// วิธี Regex (ไม่แนะนำสำหรับแค่ Trim)
string pattern = @"\s+";
Regex rgx = new Regex(pattern);
string result = rgx.Replace(input, " "); // แทนที่ whitespace หลายตัวด้วยช่องว่างเดียว

ข้อแตกต่าง: Trim() ตัดเฉพาะปลายสตริง ในขณะที่ Regex แทนที่ whitespace ทุกที่ในสตริง

สรุป

  • ใช้ Trim() TrimStart() TrimEnd() สำหรับตัดช่องว่างปลายสตริง (เร็วและอ่านง่าย)
  • ใช้ Regex เมื่อต้องจัดการรูปแบบซับซ้อน เช่น ตัด whitespace ซ้ำกลางสตริง