【C++】案例:字符串提取

1.题目要求:

输入一段长字符串,输入两个短字符串,从长字符串中提取两个短字符串中间的字符并打印。

2.代码

#include 
#include 

int main() {
    // 输入长字符串
    std::string longString;
    std::cout << "请输入一段长字符串:";
    std::getline(std::cin, longString);

    // 输入两个短字符串
    std::string shortString1, shortString2;
    std::cout << "请输入第一个短字符串:";
    std::cin >> shortString1;

    std::cout << "请输入第二个短字符串:";
    std::cin >> shortString2;

    // 查找两个短字符串在长字符串中的位置
    size_t pos1 = longString.find(shortString1);
    size_t pos2 = longString.find(shortString2);

    if (pos1 != std::string::npos && pos2 != std::string::npos) {
        // 提取两个短字符串中间的字符
        std::string result = longString.substr(pos1 + shortString1.length(), pos2 - pos1 - shortString1.length());
        std::cout << "两个短字符串之间的字符:" << result << std::endl;
    }
    else {
        std::cout << "长字符串中未找到一个或两个短字符串。" << std::endl;
    }

    return 0;
}

3.解析

  1. 输入长字符串: 提示用户输入一段长字符串,使用 std::getline 读取用户输入。

  2. 输入第一个短字符串: 提示用户输入第一个短字符串,使用 std::cin 读取用户输入。

  3. 输入第二个短字符串: 提示用户输入第二个短字符串,使用 std::cin 读取用户输入。

  4. 查找短字符串位置: 使用 std::string::find 函数在长字符串中查找第一个和第二个短字符串的位置。

  5. 提取两个短字符串之间的字符: 如果两个短字符串都在长字符串中找到,使用 std::string::substr 函数提取它们之间的字符。

  6. 打印结果: 使用 std::cout 打印提取的字符,或者如果有短字符串未找到,则打印相应的错误消息。

你可能感兴趣的:(c++,算法,开发语言)