以下功能可以正常工作。但是我认为我可以高效地做到这一点。
input = "Hello' Main's World";
函数返回值“Hello” Main's World”;
string ReplaceSingleQuote(string input)
{
int len = input.length();
int i = 0, j =0;
char str[255];
sprintf(str, input.c_str());
char strNew[255];
for (i = 0; i <= len; i++)
{
if (str[i] == '\'')
{
strNew[j] = '\'';
strNew[j+ 1] = '\'';
j = j + 2;
} else
{
strNew[j] = str[i];
j = j + 1 ;
}
}
return strNew;
}
最佳答案
boost::replace_all(str, "'", "''");
http://www.boost.org/doc/libs/1_49_0/doc/html/boost/algorithm/replace_all.html
关于c++ - 使用C++用字符串中的两个单引号替换单引号,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9723312/