您的位置:首页 > 职场人生

面试4之字符串中的空格全部替换为“%20”

2017-04-15 23:40 323 查看
请编写一个方法,将字符串中的空格全部替换为“%20”。假定该字符串有足够的空间存放新增的字符,并且知道字符串的真实长度(小于等于1000),同时保证字符串由大小写的英文字母组成。

给定一个string iniString 为原始的串,以及串的长度 int len, 返回替换后的string。

测试样例:

"Mr John Smith”,13

返回:"Mr%20John%20Smith"

”Hello  World”,12
返回:”Hello%20%20World”

#include<iostream>
using namespace std;
#include<ctype.h>

string replaceSpace(string iniString,int length)
{
// int count = 0;
// int num = 0;
// for(int i = 0; i < length; ++i)
// {
// if (isspace(iniString[i]))
// count++;
// if (isalpha(iniString[i]))
// num++;
// }

string str;
// str.resize(num+count*3);

int j = 0;
for(int i = 0; i < length; ++i)
{
if (isalpha(iniString[i]))
// str[j++] = iniString[i];
str += iniString[i];
if (isspace(iniString[i]))
{
// str[j++] = '%';
// str[j++] = '2';
// str[j++] = '0';
str += "%20";
}
}

return str;
}

int main()
{
string str ="Hello World,12";
cout << replaceSpace(str,str.length()) <<endl;
cout << "hello ..."<<endl;
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐