Giới thiệu
Phương thức string.Split() tách chuỗi thành mảng chuỗi con dựa trên separator (ký tự hoặc chuỗi). Thường dùng sau string.Join để reverse操作.
Ví dụ cơ bản
string[] str = { "Java", "AngularJS", "Python", "jQuery", "HTML5" };
string joined = string.Join(" ", str); // "Java AngularJS Python jQuery HTML5"
string[] separated = joined.Split(' '); // Tách ngược lại
Ví dụ hoàn chỉnh
using System;
public class Demo
{
public static void Main()
{
string[] str = { "Java", "AngularJS", "Python", "jQuery", "HTML5" };
string res = string.Join(" ", str);
Console.WriteLine("Joined Strings...\n" + res);
string[] convert = res.Split(' ');
Console.WriteLine("\nSeparate Joined Strings...");
foreach (string val in convert) Console.WriteLine(val);
}
}
Kết quả
Joined Strings... Java AngularJS Python jQuery HTML5 Separate Joined Strings... Java AngularJS Python jQuery HTML5
Các nạp chồng Split hữu ích
Split(params char[])- tách bởi bất kỳ char nào trong mảng.Split(string[], StringSplitOptions)- tách bởi chuỗi, có option RemoveEmptyEntries.Split(char, int count)- giới hạn số lượng phần tử trả về.
Ví dụ nâng cao
// Tách CSV đơn giản
string csv = "a,b,c,,d";
string[] parts = csv.Split(',', StringSplitOptions.RemoveEmptyEntries); // ["a","b","c","d"]
// Tách bởi chuỗi
string data = "one::two::three";
string[] parts = data.Split(new[] { "::" }, StringSplitOptions.None);
// Giới hạn số phần tử
string s = "a,b,c,d,e";
string[] firstTwo = s.Split(',', 2); // ["a", "b,c,d,e"]
Lưu ý
- Split không giữ separator.
- Chuỗi rỗng giữa 2 separator -> phần tử rỗng (trừ khi RemoveEmptyEntries).
- Hiệu suất: Split cấp phát mảng mới. Dùng
Span/Memory(.NET Core) cho zero-allocation parsing.