Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> C#

C# में स्ट्रिंग में URL जांचना (StartsWith)

String.StartsWith() मेथड का उपयोग करके स्ट्रिंग किसी विशिष्ट प्रीफिक्स (जैसे URL स्कीम) से शुरू होती है या नहीं, यह जांचा जा सकता है।

उदाहरण

using System;

class Demo {
    static void Main() {
        string input = "https://example.com/new.html";

        // www या नॉन-www दोनों जांचें
        if (input.StartsWith("https://www.example.com") ||
            input.StartsWith("https://example.com")) {
            Console.WriteLine(true);
        }
    }
}

आउटपुट

True

StartsWith ओवरलोड्स

// केस-सेंसिटिव (डिफॉल्ट)
str.StartsWith("https://");

// केस-इनसेंसिटिव
str.StartsWith("https://", StringComparison.OrdinalIgnoreCase);

// कल्चर-स्पेसिफिक
str.StartsWith("https://", true, CultureInfo.InvariantCulture);

बेहतर URL वैलिडेशन

केवल प्रीफिक्स जांचना पर्याप्त नहीं है। पूर्ण URL वैलिडेशन के लिए:

1. Uri.TryCreate (अनुशंसित)

string input = "https://example.com/new.html";

if (Uri.TryCreate(input, UriKind.Absolute, out Uri uriResult)
    && (uriResult.Scheme == Uri.UriSchemeHttp || uriResult.Scheme == Uri.UriSchemeHttps)) {
    Console.WriteLine("Valid HTTP/HTTPS URL");
    Console.WriteLine("Host: " + uriResult.Host); // example.com
}

2. Regex (पैटर्न मिलान)

using System.Text.RegularExpressions;

var urlPattern = @"^https?://(www\.)?[-a-zA-Z0-9@:%._\+~#=]{1,256}\.[a-zA-Z0-9()]{1,6}\b([-a-zA-Z0-9()@:%_\+.~#?&//=]*)$";
bool isValid = Regex.IsMatch(input, urlPattern);

3. System.ComponentModel.DataAnnotations

using System.ComponentModel.DataAnnotations;

[Url]
public string Website { get; set; } // मॉडल वैलिडेशन में

URL पार्ट्स निकालना

var uri = new Uri("https://user:pass@example.com:8080/path?query=1#fragment");
Console.WriteLine(uri.Scheme);     // https
Console.WriteLine(uri.Host);       // example.com
Console.WriteLine(uri.Port);       // 8080
Console.WriteLine(uri.PathAndQuery); // /path?query=1
Console.WriteLine(uri.Fragment);   // #fragment

मुख्य बिंदु

  • StartsWith केवल प्रीफिक्स जांचता है, पूर्ण URL वैलिडेशन नहीं करता।
  • Uri.TryCreate मजबूत पार्सिंग और वैलिडेशन प्रदान करता है।
  • उत्पादन कोड में Regex के बजाय Uri क्लास प्राथमिकता दें।
  • यूजर इनपुट को हमेशा सैनिटाइज/वैलिडेट करें।
  1. - पायथन में जांचें कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं

    मान लीजिए हमारे पास एक स्ट्रिंग s है; हमें जांचना है कि क्या यह पैलिंड्रोम है या नहीं। जैसा कि हम जानते हैं, पैलिंड्रोम तब होता है जब शब्द आगे और पीछे से समान होता है। उदाहरण के लिए, यदि इनपुट है s = racecar, तो आउटपुट होगा True। हल करने के चरण t := s का उल्टा। यदि t == s, तो True लौटाएं। अन्यथा,

  1. - पायथन प्रोग्राम जांचने के लिए कि कोई स्ट्रिंग पैलिंड्रोम है या नहीं

    एक स्ट्रिंग दी गई है, हमारा कार्य यह जांचना है कि यह स्ट्रिंग पैलिंड्रोम है या नहीं। एल्गोरिदम चरण 1: इनपुट के रूप में स्ट्रिंग दर्ज करें। चरण 2: स्ट्रिंग स्लाइसिंग का उपयोग करके स्ट्रिंग को उल्टा करें और इसकी तुलना मूल स्ट्रिंग से करें। चरण 3: फिर परिणाम प्रदर्शित करें। उदाहरण कोड my_string = inpu

  1. - पायथन प्रोग्राम: स्ट्रिंग में URL चेक करना

    इस मामले में हम पायथन में re मॉड्यूल का उपयोग करते हैं। यहां हम एक स्ट्रिंग स्वीकार करते हैं और चेक करते हैं कि स्ट्रिंग में कोई URL है या नहीं। यदि स्ट्रिंग में URL मौजूद है तो प्रदर्शित करें। हम इस समस्या को हल करने के लिए findall() मेथड का उपयोग करते हैं।एल्गोरिदमचरण 1: इनपुट के रूप में स्ट्रिंग