c++编写成员函数Replace用于替换某一指定的字符串
作者:野牛程序员:2023-07-28 12:16:39 C++阅读 2703
下面是一个C++类的示例,其中包含一个成员函数Replace,用于替换指定的字符串:
#include <string>
class StringManipulator {
private:
std::string str;
public:
StringManipulator(const std::string& inputString) : str(inputString) {}
void Replace(const std::string& search, const std::string& replacement) {
size_t pos = 0;
while ((pos = str.find(search, pos)) != std::string::npos) {
str.replace(pos, search.length(), replacement);
pos += replacement.length();
}
}
std::string GetString() const {
return str;
}
};
int main() {
std::string input = "Hello, world! Hello, ChatGPT!";
StringManipulator manipulator(input);
manipulator.Replace("Hello", "Hi");
std::string result = manipulator.GetString();
std::cout << result << std::endl; // 输出:"Hi, world! Hi, ChatGPT!"
return 0;
}在这个示例中,定义了一个名为StringManipulator的类,它有一个私有成员变量str来存储输入的字符串。Replace成员函数使用std::string::find方法查找输入字符串中指定的子字符串,然后使用std::string::replace来替换这些出现的子字符串为指定的替换字符串。
在main函数中,创建了一个StringManipulator类的实例,调用Replace函数,然后使用GetString打印修改后的字符串。
请注意,这只是一个基本示例,在真实的应用场景中,可能需要添加错误处理和处理不同情况的功能,或者优化算法以处理更大的字符串。
野牛程序员教少儿编程与信息学奥赛-微信|电话:15892516892

- 上一篇:c语言输入5个整数存入数组并换行
- 下一篇:c++成员函数一定是内联函数?
