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.