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 循环中完成的。如果字符串中的字符不是字母或空,那么该字符右侧的所有字符将向左移动一位。这由内部 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;

更新于: 24-06-2020

628 浏览

开启您的 职业生涯

完成课程以获得认证

立即开始
广告
© . All rights reserved.