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

Chương trình C# kiểm tra URL trong chuỗi (StartsWith)

Sử dụng phương thức String.StartsWith() để kiểm tra chuỗi có bắt đầu bằng tiền tố URL cụ thể hay không.

Mã nguồn


using System;

class Demo {
    static void Main() {
        string input = "https://example.com/new.html";
        
        // Kiểm tra cả www và non-www
        if (input.StartsWith("https://www.example.com") || 
            input.StartsWith("https://example.com")) {
            Console.WriteLine("True - Là URL hợp lệ của example.com");
        } else {
            Console.WriteLine("False - Không phải URL mong đợi");
        }
    }
}

Kết quả


True - Là URL hợp lệ của example.com

Overload hữu ích của StartsWith


// Không phân biệt hoa/thường
input.StartsWith("https://example.com", StringComparison.OrdinalIgnoreCase);

// So sánh theo culture cụ thể
input.StartsWith("https://example.com", true, CultureInfo.InvariantCulture);

Cách mạnh hơn: Regex / Uri


// Regex - kiểm tra pattern URL chung
bool isUrl = Regex.IsMatch(input, @"^https?://[\w.-]+(:\d+)?(/.*)?$");

// Uri.TryCreate - validate và parse chuẩn RFC
if (Uri.TryCreate(input, UriKind.Absolute, out Uri uri) 
    && (uri.Scheme == "http" || uri.Scheme == "https")) {
    Console.WriteLine("Valid URL: " + uri.Host);
}

So sánh

Phương phápDùng choƯu điểmNhược điểm
StartsWithKiểm tra prefix cố địnhNhanh, đơn giảnChỉ kiểm tra đầu chuỗi
RegexPattern phức tạpLinh hoạt, mạnhChậm hơn, phức tạp
Uri.TryCreateValidate URL chuẩnChuẩn RFC, parse thành phầnChấp nhận URL rộng (ftp, file...)

Lưu ý

  • StartsWith phân biệt chữ hoa/thường mặc định — dùng OrdinalIgnoreCase cho URL.
  • URL có thể có port, path, query, fragment — StartsWith chỉ kiểm tra đầu.
  • Để validate URL người dùng nhập: dùng Uri.TryCreate + kiểm tra Scheme.