ใน 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 ซ้ำกลางสตริง