C ++程序删除字符串中除字母之外的所有字符
字符串是一维字符数组,以空字符结尾。它可能包含字符,数字,特殊符号等。
下面给出了删除字符串中除字母之外的所有字符的程序。
示例
#include <iostream>using namespace std;
int main() {
char str[100] = "String@123!!";
int i, j;
cout<<"String before modification: "<<str<<endl;
for(i = 0; str[i] != '\0'; ++i) {
while(!( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || str[i] == '\0') {
for(j = i; str[j] != '\0'; ++j) {
str[j] = str[j+1];
}
}
}
cout<<"String after modification: "<<str;
return 0;
}
输出结果
String before modification: String@123!!String after modification: String
在上面的程序中,字符串修改是在for循环中完成的。如果字符串中的字符不是字母或null,则该字符右侧的所有字符都将向左移动1。这是使用内部for循环中的j来完成的。这导致删除非字母字符。演示这的代码片段如下-
示例
for(i = 0; str[i] != '\0'; ++i) {while(!( (str[i] >= 'a' && str[i] <= 'z') || (str[i] >= 'A' && str[i] <= 'Z') || str[i] == '\0') ) {
for(j = i; str[j] != '\0'; ++j) {
str[j] = str[j+1];
}
}
}
修改后,将显示字符串。这如下所示-
cout<<"String after modification: "<<str;
以上是 C ++程序删除字符串中除字母之外的所有字符 的全部内容, 来源链接: utcz.com/z/331386.html