提取子字符串

C++:
提取子字符串

How to (如何操作)

Example 1: 使用 substr

#include <iostream>
#include <string>

int main() {
    std::string fullString = "Hello, World!";
    std::string subString = fullString.substr(7, 5); // 从位置7开始提取5个字符
    std::cout << subString << std::endl; // 输出: World
    return 0;
}

Example 2: 使用 string::iterator

#include <iostream>
#include <string>

int main() {
    std::string fullString = "Hello, World!";
    std::string subString(fullString.begin() + 7, fullString.begin() + 12);
    std::cout << subString << std::endl; // 输出: World
    return 0;
}

Deep Dive (深入探讨)

在C++中,字符串处理是常见任务。std::string 是 C++ 标准库的一部分,从 C++98 开始存在,提供了强大的字符串操作功能。

substr 功能从 C++98 开始就存在了,它是最直接的提取子字符串方法。在 C++11 中,std::string 得到了增强,包括范围构造函数和迭代器,为处理字符串提供更多的灵活性。

除了 substr 和迭代器,还有其他方式来提取字符串,如使用 std::istringstream 类,正则表达式(std::regex)等。

实现细节上,substr 通常会创建一个新的字符串副本,这可能影响性能。在处理大量数据时,选择正确的实现方法非常关键。

See Also (另请参阅)