มีหลายวิธีในการแทนที่หลายช่องว่างด้วยช่องว่างเดียวใน C#
String.Replace − ส่งกลับสตริงใหม่ที่อักขระ Unicode ที่ระบุหรือสตริงที่ระบุในสตริงปัจจุบันทั้งหมดถูกแทนที่ด้วยอักขระหรือสตริง Unicode ที่ระบุอื่น
แทนที่ (สตริง สตริง บูลีน CultureInfo)
String.Join เชื่อมองค์ประกอบของอาร์เรย์ที่ระบุหรือสมาชิกของคอลเล็กชัน โดยใช้ตัวคั่นที่ระบุระหว่างแต่ละองค์ประกอบหรือสมาชิก
Regex.Replace −ในสตริงอินพุตที่ระบุ แทนที่สตริงที่ตรงกับรูปแบบนิพจน์ทั่วไปด้วยสตริงการแทนที่ที่ระบุ
ตัวอย่างการใช้ Regex −
ตัวอย่าง
using System;
using System.Text.RegularExpressions;
namespace DemoApplication{
class Program{
public static void Main(){
string stringWithMulipleSpaces = "Hello World. Hi Everyone";
Console.WriteLine($"String with multiples spaces:
{stringWithMulipleSpaces}");
string stringWithSingleSpace = Regex.Replace(stringWithMulipleSpaces, @"\s+", " ");
Console.WriteLine($"String with single space: {stringWithSingleSpace}");
Console.ReadLine();
}
}
} ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นคือ
String with multiples spaces: Hello World. Hi Everyone String with single space: Hello World. Hi Everyone
ในตัวอย่างด้านบน Regex.Replace เราได้ระบุช่องว่างเพิ่มเติมและแทนที่ด้วยช่องว่างเดียว
ตัวอย่างการใช้ string.Join −
ตัวอย่าง
using System;
namespace DemoApplication{
class Program{
public static void Main(){
string stringWithMulipleSpaces = "Hello World. Hi Everyone";
Console.WriteLine($"String with multiples spaces:
{stringWithMulipleSpaces}");
string stringWithSingleSpace = string.Join(" ",
stringWithMulipleSpaces.Split(new char[] { ' ' },
StringSplitOptions.RemoveEmptyEntries));
Console.WriteLine($"String with single space: {stringWithSingleSpace}");
Console.ReadLine();
}
}
} ผลลัพธ์
ผลลัพธ์ของโปรแกรมข้างต้นคือ
String with multiples spaces: Hello World. Hi Everyone String with single space: Hello World. Hi Everyone
ในด้านบนนี้ เรากำลังแบ่งข้อความด้วยช่องว่างหลายช่องโดยใช้วิธี Split และต่อมารวมอาร์เรย์ที่แยกออกโดยใช้วิธีการเข้าร่วมด้วยช่องว่างเดียว