C语言检查字符串是否包含特殊字符的程序
给定一个字符串 str[],任务是检查该字符串是否包含任何特殊字符,如果字符串包含特殊字符,则打印“字符串不被接受”,否则打印“字符串被接受”。
特殊字符是指既不是数字也不是字母的字符,例如:− !@#$%^&*()+=-\][‘;/.,{}|:”<>?`~
因此,在 C 编程语言中,我们将使用 if-else 方法来解决问题。
输入 − str[] = {“tutorials-point”}
输出 − 字符串不被接受
输入 − str[] = {“tutorialspoint”}
输出 − 字符串被接受
下面使用的解决问题的方法如下:
遍历整个字符串。
查找特殊字符,如果字符串中存在特殊字符,则打印“字符串不被接受并中断”。否则,打印字符串被接受。
其他方法
如果我们使用 Java 或任何其他支持正则表达式概念的语言进行编码,那么我们可以使用正则表达式来检查给定字符串中是否存在正则表达式,而不是使用 if-else 方法。这不仅是一种简单的方法,而且是一种快速的方法。
算法
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
示例
#include <stdio.h> #include <string.h> 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
"); flag = 1; break; } } //if there is no special charcter if (flag == 0){ printf("string is accepted
"); } return 0; } int main(int argc, char const *argv[]){ char str[] = {"Tutorials-point"}; int n = strlen(str); special_character(str, n); return 0; }
输出
如果运行上述代码,它将生成以下输出:
String is not allowed
广告