C++ 程序:从字符串对象中删除所有字符,除了字母


2023年1月21日, Learn eTutorial
1505

在这个 C++ 程序中,你将学习从字符串中删除所有字符,除了字母。

在 C++ 中定义字符串。

字符串可以定义为字符序列。在 C++ 中有两种类型的字符串,它们是:

  • 字符串类对象
  • C 风格字符串

在 C++ 中,你可以创建一个字符串对象来存储字符串。与使用数组不同,字符串没有固定长度。

如何使用 C++ 程序删除字符串中除字母以外的所有字符?

我们的程序从用户那里获取一个字符串对象输入。然后声明两个字符串对象:string linestring temp。要求用户输入一个字符串。将用户输入的字符串读取到字符串对象 line 中。这里,我们使用函数 getline() 来获取用户输入的文本行。

用户输入的字符串存储在字符串对象 line 中。现在,我们必须从字符串中提取所有非字母字符。为此,我们必须将字符串的每个字符与“a 到 z”和“A 到 Z”的字母进行比较。要访问字符串中的每个元素,我们可以使用一个 for 循环

获取每个字符,并使用 if 条件与字母进行比较。if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z')),如果它是字母,则将元素添加到对象 temp。Temp = temp + line[i]。最后,我们得到只包含字母的字符串并显示输出。

算法

步骤 1: 调用头文件 iostream。

步骤 2: 使用 `namespace std.`。

步骤 3:打开整数类型主函数;int main()。

步骤 4: 声明两个字符串类型对象;string line; string temp;

步骤 5: 要求用户输入字符串。

步骤 6:使用函数 getline() 将字符串读取到对象 line 中。

步骤 7:从头开始访问字符串的字符,并将每个字符与字母 a 到 z 和 A 到 Z 进行比较。

步骤 8:如果匹配,则将字符存储到对象 temp 中。

步骤 9: 从对象 temp 中获取没有非字母字符的字符串。

步骤 10:显示字符串;

步骤 11:退出。

C++ 源代码

                                          #include <iostream>
using namespace std;

int main() {
    string line;
    string temp = "";

    cout << "Enter a string: ";
    getline(cin, line);

    for (int i = 0; i < line.size(); ++i) {
        if ((line[i] >= 'a' && line[i] <= 'z') || (line[i] >= 'A' && line[i] <= 'Z')) {
            temp = temp + line[i];
        }
    }
    line = temp;
    cout << "Output String: " << line;
    return 0;
}
                                      

输出

Enter a string: l4ea@rne$$45tuto87ria**ls
Output String: learnetutorials