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

回到顶部