Có vài cách thay thế multiple spaces thành single space trong C#.
- String.Replace - Trả về string mới thay thế tất cả occurrences của Unicode character hoặc String chỉ định.
- String.Join - Nối các phần tử mảng hoặc thành viên collection với separator chỉ định.
- Regex.Replace - Trong input string chỉ định, thay thế strings khớp regex pattern bằng replacement string.
Ví dụ dùng 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();
}
}
}
Kết quả
String with multiples spaces: Hello World. Hi Everyone String with single space: Hello World. Hi Everyone
Trong ví dụ Regex.Replace, ta xác định thêm spaces và thay bằng single space.
Ví dụ dùng 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();
}
}
}
Kết quả
String with multiples spaces: Hello World. Hi Everyone String with single space: Hello World. Hi Everyone
Tách text với multiple spaces bằng Split method, sau đó join mảng đã tách bằng Join method với single space.