URL एन्कोडिंग में स्पेस को %20 से बदला जाता है। C# में String.Replace() मेथड का उपयोग करके इसे आसानी से किया जा सकता है।
उदाहरण
using System;
class Demo {
static void Main() {
String str = "Hello World !";
Console.WriteLine("String: " + str);
// सभी स्पेस को %20 से बदलें
String str2 = str.Replace(" ", "%20");
Console.WriteLine("String (After replacing): " + str2);
}
}
आउटपुट
String: Hello World ! String (After replacing): Hello%20World%20!
Replace मेथड के ओवरलोड्स
// कैरेक्टर बदलें
string s = "abc".Replace('a', 'x'); // "xbc"
// स्ट्रिंग बदलें
string s = "abc".Replace("a", "x"); // "xbc"
// केस-सेंसिटिव (डिफॉल्ट)
"Hello".Replace("h", "H"); // "Hello" (कोई बदलाव नहीं)
// केस-इनसेंसिटिव (कस्टम)
"Hello".Replace("h", "H", StringComparison.OrdinalIgnoreCase); // "Hello"
URL एन्कोडिंग के लिए बेहतर तरीका
Replace(" ", "%20") केवल स्पेस को हैंडल करता है। पूर्ण URL एन्कोडिंग के लिए:
using System.Web; // या System.Net.WebUtility
string url = "https://example.com/search?q=hello world";
// System.Web.HttpUtility (क्लासिक ASP.NET)
string encoded = HttpUtility.UrlEncode(url);
// System.Net.WebUtility (कोर/मानक)
string encoded = WebUtility.UrlEncode(url);
// परिणाम: "https%3a%2f%2fexample.com%2fsearch%3fq%3dhello+world"
// स्पेस के लिए विशेष रूप से %20 (न कि +)
string encoded = Uri.EscapeDataString("hello world"); // "hello%20world"
मुख्य बिंदु
Replaceमूल स्ट्रिंग को नहीं बदलता, नई स्ट्रिंग लौटाता है।- यह सभी घटनाओं को बदलता है (ग्लोबल रिप्लेसमेंट)।
- केस-सेंसिटिव है डिफॉल्ट रूप से।
- URL एन्कोडिंग के लिए समर्पित मेथड्स (
Uri.EscapeDataString,WebUtility.UrlEncode) उपयोग करें।