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

C# में स्ट्रिंग में विशेष कैरेक्टर जांचना

स्ट्रिंग में विशेष कैरेक्टर (गैर-अल्फान्यूमेरिक) मौजूद हैं या नहीं, यह जांचने के लिए char.IsLetterOrDigit() मेथड का उपयोग किया जाता है।

उदाहरण

using System;

namespace Demo {
    class MyApplication {
        static void Main(string[] args) {
            string str = "Amit$#%";
            char[] chars = str.ToCharArray();
            char[] specialChars = new char[chars.Length];
            int count = 0;

            for (int i = 0; i < chars.Length; i++) {
                if (!char.IsLetterOrDigit(chars[i])) {
                    specialChars[count] = chars[i];
                    count++;
                }
            }

            // सरणी का आकार समायोजित करें
            Array.Resize(ref specialChars, count);

            Console.WriteLine("Following are the special characters:");
            foreach (var item in specialChars) {
                Console.WriteLine(item);
            }
            Console.ReadLine();
        }
    }
}

आउटपुट

Following are the special characters:
$
#
%

सरल बूलियन जांच

public static bool HasSpecialChars(string str) {
    return str.Any(c => !char.IsLetterOrDigit(c));
}

// उपयोग
bool hasSpecial = HasSpecialChars("Hello!"); // true
bool hasSpecial = HasSpecialChars("Hello");  // false

Regex के साथ

using System.Text.RegularExpressions;

bool hasSpecial = Regex.IsMatch(str, @"[^a-zA-Z0-9]");
// या यूनिकोड-अनुकूल
bool hasSpecial = Regex.IsMatch(str, @"[^\p{L}\p{N}]");

विशिष्ट विशेष कैरेक्टर्स की अनुमति देना

// केवल कुछ विशेष कैरेक्टर्स अनुमत हों
string allowedSpecial = "@.-_";
bool valid = str.All(c => char.IsLetterOrDigit(c) || allowedSpecial.Contains(c));

यूनिकोड विचार

  • char.IsLetterOrDigit यूनिकोड अक्षरों और अंकों को पहचानता है (हिंदी, चीनी, अरबी, आदि)।
  • यदि केवल ASCII चाहिए: c >= 'a' && c <= 'z' || c >= 'A' && c <= 'Z' || c >= '0' && c <= '9'
  • श्रेणी जांच: char.GetUnicodeCategory(c) - UnicodeCategory.Letter, Number, Punctuation, Symbol आदि।

मुख्य बिंदु

  • char.IsLetterOrDigit सबसे पठनीय और यूनिकोड-सही तरीका है।
  • Regex पैटर्न [^a-zA-Z0-9] केवल ASCII के लिए काम करता है।
  • पासवर्ड वैलिडेशन, इनपुट सैनिटाइजेशन, फाइलनाम वैलिडेशन में उपयोगी।
  1. Swift में स्ट्रिंग में विशेष वर्ण हैं या नहीं जांचें Swift में स्ट्रिंग में विशेष वर्ण हैं या नहीं जांचें

    रेगुलर एक्सप्रेशन का उपयोग करके विशेष वर्ण जांचना Swift में यह जांचने के लिए कि कोई स्ट्रिंग विशेष वर्ण रखती है या नहीं, हम if-else या switch जैसे कंडीशनल का उपयोग कर सकते हैं लेकिन इसके लिए कई शर्तों को निष्पादित करने की आवश्यकता होगी, जिससे प्रोग्रामिंग के साथ-साथ निष्पादन समय भी अधिक लगेगा। इसलिए

  1. Swift में स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं जांचें Swift में स्ट्रिंग में दूसरी स्ट्रिंग है या नहीं जांचें

    स्ट्रिंग कंटेनमेंट चेक Swift में यह जांचने के लिए कि कोई स्ट्रिंग दूसरी स्ट्रिंग को कंटेन करती है या नहीं, हमें दो अलग-अलग स्ट्रिंग्स की आवश्यकता होगी। एक स्ट्रिंग जिसे हमें जांचना है कि क्या उसमें दूसरी स्ट्रिंग है। मान लीजिए जिस स्ट्रिंग को हम जांचना चाहते हैं वह point है और पूरी स्ट्रिंग Tutoria

  1. पायथन प्रोग्राम: जांचें कि स्ट्रिंग में सभी यूनिक कैरेक्टर्स हैं या नहीं पायथन प्रोग्राम: जांचें कि स्ट्रिंग में सभी यूनिक कैरेक्टर्स हैं या नहीं

    इस लेख में, हम दिए गए प्रॉब्लम स्टेटमेंट को हल करने के समाधान और दृष्टिकोण के बारे में सीखेंगे। प्रॉब्लम स्टेटमेंट एक स्ट्रिंग इनपुट दिए जाने पर, हमें यह ढूंढना होगा कि स्ट्रिंग में सभी यूनिक कैरेक्टर्स हैं या नहीं। दृष्टिकोण हम बूलियन वैल्यूज़ का एक ऐरे बनाएंगे, जहां इंडेक्स i पर वेरिएबल फ्लैग