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

แทนที่ Multiple Spaces ด้วย Single Space ใน C#

มี 2 วิธีหลัก:

1. ใช้ Regex.Replace

using System.Text.RegularExpressions;

string input = "Hello    World.   Hi    Everyone";
string result = Regex.Replace(input, @"\s+", " ");
// "Hello World. Hi Everyone"

\s+ = Match Whitespace 1 ตัวขึ้นไป

2. ใช้ String.Join + Split

string input = "Hello    World.   Hi    Everyone";
string result = string.Join(" ", 
    input.Split(new char[] { ' ' }, StringSplitOptions.RemoveEmptyEntries));
// "Hello World. Hi Everyone"

Split ด้วย Space แล้ว RemoveEmptyEntries → ได้ Array คำ → Join ด้วย Space เดียว

Benchmark

  • Regex: ช้ากว่าเล็กน้อย แต่อ่านง่าย รองรับ Tab, Newline ด้วย
  • Split+Join: เร็วกว่า สำหรับ Space ธรรมดา