কম্পিউটার টিউটোরিয়াল

C-তে স্ট্রিং-এ স্পেশাল ক্যারেক্টার আছে কিনা যাচাই

একটি স্ট্রিং str[] দেওয়া আছে। স্ট্রিং-এ কোনো স্পেশাল ক্যারেক্টার আছে কিনা যাচাই করতে হবে। স্পেশাল ক্যারেক্টার হলো যেগুলো না অক্ষর না সংখ্যা: !@#$%^&*()+=-\][‘;/.,{}|:”<>?`~। থাকলে "String is not allowed", নাইলে "string is accepted" প্রিন্ট করবে।

উদাহরণ

ইনপুট: "tutorials-point"

আউটপুট: String is not allowed (হাইফেন - স্পেশাল ক্যারেক্টার)

ইনপুট: "tutorialspoint"

আউটপুট: string is accepted

পদ্ধতি

  • পুরো স্ট্রিং ট্রাভার্স করা হয়।
  • প্রতিটি ক্যারেক্টার স্পেশাল ক্যারেক্টার লিস্টের সাথে মিলিয়ে চেক করা হয়।
  • যদি মিল পাওয়া যায়, ফ্ল্যাগ সেট করে ব্রেক করা হয়।
  • ফ্ল্যাগ ০ থাকলে accepted, ১ হলে not allowed।

অন্যান্য পদ্ধতি

জাভা বা রেগুলার এক্সপ্রেশন সাপোর্ট করে এমন ল্যাঙ্গুয়েজে regex ব্যবহার করা সহজ ও দ্রুত।

C প্রোগ্রাম উদাহরণ

#include <stdio.h>
#include <string.h>

int special_character(char str[], int n) {
    int i, flag = 0;
    for (i = 0; i < n; i++) {
        if (str[i]=='!' || str[i]=='@' || str[i]=='#' || str[i]=='$' ||
            str[i]=='%' || str[i]=='^' || str[i]=='&' || str[i]=='*' ||
            str[i]=='(' || str[i]==')' || str[i]=='-' || str[i]=='{' ||
            str[i]=='}' || str[i]=='[' || str[i]==']' || str[i]==':' ||
            str[i]==';' || str[i]=='\"' || str[i]=='\'' || str[i]=='<' ||
            str[i]=='>' || str[i]=='.' || str[i]=='/' || str[i]=='?' ||
            str[i]=='~' || str[i]=='`') {
            printf("String is not allowed\n");
            flag = 1; break;
        }
    }
    if (flag == 0) printf("string is accepted\n");
    return 0;
}

int main() {
    char str[] = "Tutorials-point";
    int n = strlen(str);
    special_character(str, n);
    return 0;
}

আউটপুট

String is not allowed
  1. সুইফটে স্ট্রিং-এ স্পেশাল ক্যারেক্টার আছে কিনা চেক করার পদ্ধতি

  2. সুইফটে একটি স্ট্রিং অন্য স্ট্রিং কন্টেইন (Contains) করে কিনা চেক করার পদ্ধতি

  3. পাইথনে স্ট্রিং-এ সব ক্যারেক्टर ইউনিক কিনা চেক করা

  4. পাইথন রেগুলার এক্সপ্রেশনে যেকোনো স্পেশাল ক্যারেক্টার এস্কেপ করবেন?