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
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP