Problem L: 字符替换
Description
Input
第二行:要查找的字符串。
第三行:用来替换的字符串。
Output
Sample Input Copy
123123123123
123
456
Sample Output Copy
456456456456
HINT
string的find()函数用于找出字母在字符串中的位置。
find(str,position)
str:是要找的元素
position:字符串中的某个位置,表示从从这个位置开始的字符串中找指定元素(不填第二个参数,默认从字符串的开头进行查找)
返回值为目标字符的位置(第一个字符位置为0),当没有找到目标字符时返回string::npos即为-1
举例
//找到目标字符的位置
string s = "hello world!";
cout << s.find("e")
<< endl;
输出结果:1
//未找到目标字符
string s = "hello world!";
if (s.find("a") == string::npos) {
cout << "not found" << endl;
}
输出结果:not found
//指定查找位置
string s = "hello world!";
cout << s.find("l",5)
<< endl;
输出结果:9
C++中的string类提供了replace()函数,用于替换字符串中的子串。其函数原型如下:
string replace (size_t pos, size_t len, const string& str);
其中,pos表示要替换的子串在原字符串中的起始位置,len表示要替换的子串的长度,str表示用来替换的字符串。
replace()函数的使用方法非常简单,只需要传入要替换的子串的位置、长度和替换字符串即可。下面是一个示例:
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "hello world";
str.replace(0, 5, "hi");
cout << str << endl; // 输出:hi world
return 0;
}
在上面的示例中,将字符串中的"hello"替换为"hi",得到了"hi world"这个新的字符串。