C# cung cấp phương thức Split() để tách chuỗi thành mảng và string.Join() để nối mảng thành chuỗi.
Phương thức Split()
string str = "This is our Demo String";
var arr = str.Split(' '); // Tách theo khoảng trắng
// Kết quả: ["This", "is", "our", "Demo", "String"]
Phương thức Join()
// Nối lại, bỏ qua phần tử đầu tiên (Skip(1))
string rest = string.Join(" ", arr.Skip(1));
// Kết quả: "is our Demo String"
Mã nguồn hoàn chỉnh
using System;
using System.Linq;
namespace Demo {
class MyApplication {
static void Main(string[] args) {
string str = "This is our Demo String";
var arr = str.Split(' ');
// Bỏ qua từ đầu tiên, nối phần còn lại
string rest = string.Join(" ", arr.Skip(1));
Console.WriteLine(rest);
}
}
}
Kết quả
is our Demo String
Các biến thể hữu ích
Tách theo nhiều ký tự phân cách
string s = "a,b;c:d";
var parts = s.Split(new char[] { ',', ';', ':' }, StringSplitOptions.RemoveEmptyEntries);
Giới hạn số phần tử tách
string s = "one,two,three,four";
var firstTwo = s.Split(',', 2); // ["one", "two,three,four"]
Nối với phân cách tùy chỉnh
string[] words = { "C#", "là", "ngôn", "ngữ", "mạnh" };
string sentence = string.Join(" ", words); // "C# là ngôn ngữ mạnh"
string csv = string.Join(",", words); // "C#,là,ngôn,ngữ,mạnh"
Lưu ý
Splittrả vềstring[]— có thể dùng LINQ (Where,Select,Skip,Take).JoinnhậnIEnumerable<string>— linh hoạt với mảng, List, kết quả LINQ.- Tránh
Splittrong vòng lặp lớn — tốn bộ nhớ cấp phát mảng mới.