gpt4 book ai didi

c++ - 删除 '\n.\n' C++

转载 作者:太空宇宙 更新时间:2023-11-04 15:10:37 26 4
gpt4 key购买 nike

如果我有这样的字符串

"I am not here... \n..Hello\n.\n....Whats happening"

我想这样替换上面的字符串:

"I am not here... \n..Hello\n. \n....Whats happening"
^ Space added

只是我在做什么的一些背景知识。我在 C++ 中使用 sendmail,\n.\nEnd Of Message 等同于 sendmail。我刚刚创建了一个使用 sendmail 发送邮件的类。但很明显,如果外部用户向 sendmail 发出该命令,我希望将其删除。这是我的消息功能,以防万一。:

//Operator to add to the message
void operator<<(string imessage){
if (imessage != ""){ message += imessage; }
}

我该怎么做。提前致谢:D

最佳答案

这是我的最后一个版本:)
此代码处理@Greg Hewgill 提到的案例

string& format_text(string& str)
{
const string::size_type dot_offset = 2;
string::size_type found_at_start = str.find("\n.\n"),
found_at = str.find("\n.\n");

if(found_at_start != string::npos)
str.insert(0, " ");

while(found_at != string::npos)
{
str.insert(found_at+dot_offset+1, " ");
found_at = str.find("\n.\n", found_at+1);
}
return str;
}

int main()
{
string text = ".\nn\n.\nn";
std::cout << format_text(text);
}

关于c++ - 删除 '\n.\n' C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2174273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com