Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

Tôi đã thử chạy mã này và có vẻ như nó sẽ chỉ kiểm tra một ký tự chứ không phải toàn bộ chuỗi, nếu tôi có một chuỗi dài như "Adam@", có ai biết cách kiểm tra như toàn bộ chuỗi và không chỉ là một ký tự như ' N'.

    char ch;
    /* Input character from user */
    printf("Enter any character: ");
    scanf("%c", &ch);
    /* Alphabet check */
    if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
        printf("'%c' is alphabet.", ch);
    }
    else if(ch >= '0' && ch <= '9')
    {
        printf("'%c' is digit.", ch);
    }
    else 
    {
        printf("'%c' is special character.", ch);
    }

Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

Gerhardh

10.2k2 Huy hiệu vàng13 Huy hiệu bạc35 Huy hiệu đồng2 gold badges13 silver badges35 bronze badges

hỏi ngày 10 tháng 1 lúc 8:19Jan 10 at 8:19

Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

3

C ngôn ngữ không có khái niệm trực tiếp về chuỗi. Chỉ có thư viện tiêu chuẩn có: Theo quy ước, một chuỗi ký tự được biểu diễn dưới dạng mảng ký tự chấm dứt null.

Vì vậy, bạn phải:

  1. Tuyên bố một mảng đủ lớn, giữ các chuỗi dự kiến ​​(nói không quá 31 ký tự)

     char word[32];   // 31 chars + 1 terminating null
    
  2. Đọc một từ (trống hoặc không gian được phân tách) chăm sóc hoặc không tràn ra mảng:

     scanf("%31s", word);
    
  3. Vòng lặp qua các ký tự của từ đó:

     for (int i=0; i

Đã trả lời ngày 10 tháng 1 lúc 8:30Jan 10 at 8:30

Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

Serge Ballestaserge BallestaSerge Ballesta

Huy hiệu vàng 138K1111 gold badges114 silver badges234 bronze badges

Vì bạn sẽ phải sử dụng một mảng char để lưu trữ chuỗi này, bạn có thể dễ dàng lặp lại trên mảng này.

Giống như htis:

char s[100]; //string with max length 100
/* Input string from user */
printf("Enter any string: ");
scanf("%s", &s);
/* Alphabet check */
for(int i = 0; i <100; i++){
    char ch = s[i];
    if(ch == '\0') break; //stop iterating at end of string
     if((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z'))
    {
        printf("'%c' is alphabet.", ch);
    }
    else if(ch >= '0' && ch <= '9')
    {
        printf("'%c' is digit.", ch);
    }
    else 
    {
        printf("'%c' is special character.", ch);
    }
}

Đã trả lời ngày 10 tháng 1 lúc 8:30Jan 10 at 8:30

Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

0

scanf("%c", &ch);

Serge Ballestaserge Ballesta

char word[32]; // set size to the maximum word length you want to handle (+1 for null termination)
scanf("%31s", word);

Huy hiệu vàng 138K11

for (int i = 0; i < 32; i++) {
    if (char[i] == '\0') break;
    // Check word[i]
    ...
}

Vì bạn sẽ phải sử dụng một mảng char để lưu trữ chuỗi này, bạn có thể dễ dàng lặp lại trên mảng này.Jan 10 at 8:29

Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

6


Đưa ra một chuỗi str [], tác vụ là kiểm tra xem chuỗi có chứa bất kỳ ký tự đặc biệt nào hay không và nếu chuỗi có ký tự đặc biệt thì in Chuỗi không được chấp nhận khác, bản in, chuỗi được chấp nhận.

Các ký tự đặc biệt là những ký tự không phải là số cũng không bảng chữ cái, tức là-!@#$%^&*()+=-\] [‘;/., {} |:

Vì vậy, trong ngôn ngữ lập trình C, chúng tôi sẽ sử dụng phương pháp IF-Else để giải quyết vấn đề.

Đầu vào-str [] = {Hướng dẫn hướng dẫn điểm} − str[] = {“tutorials-point”}

Đầu ra - chuỗi không được chấp nhận − the string is not accepted

Đầu vào - str [] = {Hướng dẫn hướng dẫn}} − str[] = {“tutorialspoint”}

Đầu ra - chuỗi được chấp nhận − The string is accepted

Cách tiếp cận được sử dụng dưới đây như sau để giải quyết vấn đề -

  • Đi qua toàn bộ chuỗi.

  • Sẽ tìm kiếm ký tự đặc biệt, nếu nhân vật đặc biệt tồn tại trong chuỗi sau đó, hãy in chuỗi Chuỗi không được chấp nhận và phá vỡ. Khác, in chuỗi được chấp nhận.

Cách tiếp cận khác

Nếu chúng tôi đang mã hóa trong Java hoặc bất kỳ ngôn ngữ nào khác hỗ trợ khái niệm biểu thức thông thường, thì thay vì phương pháp IF-Else, chúng tôi sẽ sử dụng các biểu thức chính quy để kiểm tra xem chúng có có trong chuỗi đã cho hay không. Đây không chỉ là một cách tiếp cận đơn giản mà còn là một cách nhanh chóng.

Thuật toán

Start
In function int special_character(char str[], int n)
   Step 1→ initialize i and flag and set flag as 0
   Step 2→ Loop For i = 0 and i < n and ++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] == '`' then
         Print "String is not allowed”
            Set flag as 1
         break
   Step 3→ If flag == 0 then,
      Print "string is accepted”
In function int main(int argc, char const *argv[])
   Step 1→ Declare and set str[] as {"Tutorials-point"}
   Step 2→ set n as strlen(str)
   Step 3→ special_character(str, n)
Stop

Thí dụ

& nbsp; bản demo trực tiếp

#include 
#include 
int special_character(char str[], int n){
   int i, flag = 0;
   for (i = 0; i < n; ++i){
      //checking each character of the string for special character.
      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 there is no special charcter
   if (flag == 0){
      printf("string is accepted\n");
   }
   return 0;
}
int main(int argc, char const *argv[]){
   char str[] = {"Tutorials-point"};
   int n = strlen(str);
   special_character(str, n);
   return 0;
}

Đầu ra

Nếu chạy mã trên, nó sẽ tạo ra đầu ra sau -

 char word[32];   // 31 chars + 1 terminating null
0

Hướng dẫn how to check string contains special characters in c++ - cách kiểm tra chuỗi có chứa các ký tự đặc biệt trong c ++

Cập nhật ngày 13 tháng 8 năm 2020 08:10:20

  • Câu hỏi và câu trả lời liên quan
  • C# Chương trình để kiểm tra xem một chuỗi có chứa bất kỳ ký tự đặc biệt nào không
  • Chương trình Java để kiểm tra xem một chuỗi có chứa bất kỳ ký tự đặc biệt nào không
  • Chương trình kiểm tra xem một chuỗi có chứa bất kỳ ký tự đặc biệt nào trong Python không
  • Chương trình Python để kiểm tra xem một chuỗi có chứa bất kỳ ký tự duy nhất nào không
  • Chương trình PHP để kiểm tra xem một chuỗi có ký tự đặc biệt không
  • Kiểm tra xem chuỗi có chứa các ký tự đặc biệt trong swift không
  • Chương trình Java để kiểm tra xem chuỗi có chứa bất kỳ ký tự nào trong bộ ký tự đã cho không
  • C# chương trình để thay thế một ký tự đặc biệt từ một chuỗi
  • Kiểm tra xem một chuỗi có chứa chuỗi con trong C ++ không
  • Chương trình Java để kiểm tra xem một chuỗi có chứa chuỗi con không
  • C# chương trình để kiểm tra xem một ký tự có phải là ký tự không gian trắng không
  • Làm thế nào để kiểm tra xem một chuỗi chỉ chứa một loại ký tự trong r?
  • Chương trình Python để kiểm tra xem một chuỗi có chứa tất cả các ký tự duy nhất không
  • Làm thế nào để kiểm tra xem một chuỗi có chứa một từ nhất định trong C#không?
  • Kiểm tra xem một chuỗi có chứa số trong mysql không?

Làm thế nào để bạn kiểm tra xem một chuỗi có chứa bất kỳ ký tự đặc biệt nào trong C không?

Vì vậy, trong ngôn ngữ lập trình C, chúng tôi sẽ sử dụng phương pháp IF-Else để giải quyết vấn đề ...
Đầu vào-str [] = {Hướng dẫn hướng dẫn điểm}.
Đầu ra - chuỗi không được chấp nhận ..
Đầu vào - str [] = {Hướng dẫn hướng dẫn}.
Đầu ra - Chuỗi được chấp nhận ..

Làm cách nào để kiểm tra xem một chuỗi có ký tự đặc biệt?

Để kiểm tra xem một chuỗi có chứa các ký tự đặc biệt không, hãy gọi phương thức Test () trên biểu thức chính quy phù hợp với bất kỳ ký tự đặc biệt nào.Phương thức kiểm tra sẽ trả về true nếu chuỗi chứa ít nhất 1 ký tự đặc biệt và sai.Đã sao chép!call the test() method on a regular expression that matches any special character. The test method will return true if the string contains at least 1 special character and false otherwise. Copied!

Là nhân vật đặc biệt trong C?

Việc sử dụng các ký tự được đặt trong C Chúng được gọi là các ký tự trong C. Chúng bao gồm các chữ số, bảng chữ cái, ký hiệu đặc biệt, v.v.They include digits, alphabets, special symbols, etc.

Làm thế nào để bạn kiểm tra xem một ký tự nhất định là một chữ số trong c?

Hàm isDigit () được sử dụng để kiểm tra xem ký tự có phải là ký tự số hay không.Hàm này được khai báo trong CTYPE.Hồ tập tệp tiêu đề H.Nó trả về một giá trị số nguyên, nếu đối số là một chữ số khác, nó sẽ trả về số 0.isdigit() is used to check that character is a numeric character or not. This function is declared in “ctype. h” header file. It returns an integer value, if the argument is a digit otherwise, it returns zero.