Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> C#

Tách chuỗi đã nối (Split) trong C#


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.