以下功能可以正常工作。但是我认为我可以高效地做到这一点。

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/

10-10 02:36