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

Liệt kê tất cả substring của chuỗi trong C#

Dùng lồng vòng lặp với Substring(start, length).

string myStr = "pqrz";

for (int len = 1; len < myStr.Length; len++)
{
    for (int start = 0; start <= myStr.Length - len; start++)
    {
        string substr = myStr.Substring(start, len);
        Console.WriteLine(substr);
    }
}

Ví dụ hoàn chỉnh

using System;

public class Demo
{
    public static void Main()
    {
        string myStr = "pqrz";
        
        for (int len = 1; len < myStr.Length; len++)
        {
            for (int start = 0; start <= myStr.Length - len; start++)
            {
                string substr = myStr.Substring(start, len);
                Console.WriteLine(substr);
            }
        }
    }
}

Kết quả cho "pqrz"

p
q
r
z
pq
qr
rz
pqr
qrz
pqrz

Tổng số substring: n*(n+1)/2 (n = độ dài chuỗi). Ví dụ "pqrz" (n=4) => 10 substring.

Ứng dụng: Tìm palindrome, pattern matching, suffix array, DNA sequence analysis.