Fork me on GitHub

字符串替换

问题

实现一个简单的字符串替换函数。原串中需要替换的占位符为”%s”,请按照参数列表的顺序一一替换占位符。若参数列表的字符数大于占位符个数。则将剩下的参数字符添加到字符串的结尾。

给定一个字符串A,同时给定它的长度n及参数字符数组arg,请返回替换后的字符串。保证参数个数大于等于占位符个数。保证原串由大小写英文字母组成,同时长度小于等于500。

测试样例:

“A%sC%sE”,7,[‘B’,’D’,’F’]
返回:”ABCDEF”

解决方案

思路:定义一个新的字符串来接收返回的字符串,接收过程中将%s去掉即可。话不多说,上代码。

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
public:
string formatString(string A, int n, vector<char> arg, int m) {
// write code here
string strRet;
int index = 0;
for(size_t i=0;i<A.size();++i)
{
if(A[i] == '%' && A[i+1] == 's')
{
strRet += arg[index++];
i++;
}
else{
strRet += A[i];
}
}
for(;index<m;++index)
{
strRet += arg[index];
}

return strRet;
}
};

本文标题:字符串替换

文章作者:LiuXiaoKun

发布时间:2018年12月02日 - 20:12

最后更新:2019年02月12日 - 23:02

原始链接:https://LiuZiQiao.github.io/2018/12/02/字符串替换/

许可协议: 署名-非商业性使用-禁止演绎 4.0 国际 转载请保留原文链接及作者。

0%